docker簡單使用和遇到的坑

2022-05-25 02:09:09 字數 2774 閱讀 4072

安裝環境: alios7.2 

安裝:1安裝源

# yum install epel-release –y

# yum clean all

# yum list

2:安裝docker

# yum install docker-io –y

# systemctl start docker

3:檢查docker

# docker info
4啟停檢視

# systemctl start docker     #執行docker守護程序

# systemctl stop docker #停止docker守護程序

# systemctl restart docker #重啟docker守護程序

使用1建立dockerfile

from reg.docker.alibaba-inc.com/alibase/alios7u2:latest #這裡是使用alios作為基礎映象

run yum clean all

run yum install -y python-devel mysql-devel zlib-devel opnssl-devel

run rpm -ivh

run wget -o /etc/yum.repos.d/centos-base.repo

run yum makecache

#下面部分是docker啟動後會執行的命令

cmd systemctl start nginx

cmd systemctl start redis

cmd rabbitmq-server start

2:根據daockerfile建立daocker映象

docker build #path代表dockerfile所在的資料夾路徑
3:基礎命令 sudo docker images

這一條是檢視當前裝置宿主機中有幾個docker 映象 當然這些是沒有啟動

repository 代表docker的名字

tag 代表當前版本號

image id 代表當前宿主機內映象的唯一id

created 代表建立了多久了

size 代表映象的大小

基礎命令 sudo docker ps 

檢視當前正在執行的docker

container id 代表執行中的唯一id

4:啟動命令

需要知道docker images id

sudo docker run -d -p 宿主機埠:docker埠 -p 宿主機埠2:docker埠2 -p 宿主機埠3:docker埠3/usr/sbin/init

這裡的/usr/sbin/init 是為了開啟之後可以使用systemctl方法

5:進入docker容器中

docker exec -i -t bash
為什麼要用bash呢 因為bash後 裡面的是彩色的呀,因為好看呀

6:daocker上傳這個可以找乙個dockerhub看看

7:​sudo docker cp host_path containerid:container_path

sudo docker cp 我是宿主機的路徑   docker ps能夠看到的id:我是容器中的路徑

sudo docker cp containerid:container_path host_path

sudo docker cp  docker ps能夠看到的id:我是容器中的路徑 我是宿主機的路徑

​ sudo docker start 

​ sudo docker stop 

sudo docker rm 

​ sudo docker rmi -f >

8:問題

為什麼我們在安裝好docker.io啟動的時候啟動不起來

首先確認是否是阿里雲的ecs中安裝docker

如果是的 可以route檢視是否使用了172.16.0.0網段 如果有那麼刪除了

雖然不知道為啥 阿里ecs出現這個問題但是刪了之後systemctl start docker之後應該就可以了

注意事項

dockerfile中的cmd命令通常在build的時候是檢測不出來錯誤的

但是當你run的時候發現docker ps 沒有起來

是不是很矇逼, 你可以docker ps -a 來檢視所有的 

然後在docker logs containerid

關於 docker build報錯/bin/sh: 1: ./configure: not found 問題

docker build命令根據dockerfile檔案構建映象的過程中,除了from指令外,其他的每一條指令都是在乙個新的容器裡面執行

今天把dockerfile檔案寫成了如下的樣子

run ./configure

結果就報configure檔案不存在,但是檔案的的確確是存在的,原因就是執行第2條指令時在新的容器裡面,第1條指令的切換目錄失效了

解決的辦法就是將上面的2條指令合併在一起    

在就沒啥 要說的

有啥要說的我會補充

docker中遇到的坑

重點分割線,掉坑是我進步的動力,有時候真的情願不進步也不想掉坑啊啊啊啊 apt get update但是在執行update的時候執行到23步之後無法執行下去,可能是由於第一次在執行到23的時候出現斷網,然後使用ctrl c打斷了跟新,反正之後就一直斷在這一步。docker pull ufoym de...

CURL使用和遇到的坑

帶參 curl http xx?name value name2 value2 不帶參 curlcurl http localhost 8000 w d.html?pr 3 rqc 10 無論windows linuxcurl這樣子居然帶不上第二個引數,實際服務端只接收到第乙個,第二個丟失了,真是坑...

while和ssh使用遇到的坑

最近在寫shell指令碼的時候,有個功能,通過while逐行讀取文字中的內容,然後使用ssh到其他機器上進行命令操作,結果奇怪的現象出現了,無論我怎麼弄,這傢伙總是讀取一行,其他的都不讀取了,結果通過google,查詢得到while和ssh一起用確實有此問題,通過while的時候,再使用ssh,所有...