<center>Docker</center>
Docker鏡像
對于linux,內(nèi)核啟動后首先掛在==root==文件系統(tǒng)為用戶空間提供支持。
Docker鏡像是一個特殊的文件系統(tǒng),除了提供容器運行時所需要的程序、庫、資源、i配置等文件外,包含一些運行時需要的配置參數(shù)。鏡像不包含任何動態(tài)數(shù)據(jù),其內(nèi)容在構(gòu)建后也不會改變。
分層存儲
鏡像需要包含完整的==root==文件系統(tǒng),體積龐大,因此將鏡像設(shè)計為分層存儲結(jié)構(gòu),鏡像構(gòu)建時將會一層一層構(gòu)建,前一層是后一層的基礎(chǔ)
Docker容器
鏡像和容器的關(guān)系,就像==類==和==實體==的關(guān)系
<center>docker鏡像</center>
拉取鏡像
從docker鏡像倉庫拉去鏡像的命令==docker pull==
鏡像名稱格式為:==docker pull [選項] [Docker Registry 地址[:端口號]/]倉庫名[:標(biāo)簽]==
Docker 鏡像倉庫地址:地址的格式一般是 <域名/IP>[:端口號]。默認地址是 Docker Hub。
倉庫名:<用戶名>/<軟件名>如果不給用戶名則默認使用官方鏡像(library)
- docker puu ubuntu:16.04
從默認地址(docker hub)中獲取鏡像,將會從官方鏡像library/ubuntu倉庫中獲取標(biāo)簽為==16.04==的鏡像
運行鏡像
使用==docker run==命令運行容器
列出鏡像
docker image ls列出鏡像
中間層鏡像
為了加速鏡像構(gòu)建,重復(fù)利用資源,Docker會利用==中間層鏡像==。在使用一段時間后會看到一些依賴的中間層鏡像。使用 ==docker image ls -a==命令可以查看到包括中間層鏡像所在內(nèi)的全部鏡像
==docker image -f==添加過濾條件
刪除鏡像
==docker image rm==刪除鏡像
可以根據(jù)鏡像ID,鏡像名來刪除鏡像
==docker image rm (docker image ls -q -f before=mongo:3.2):刪除所有在==mongo:3.2==之前的鏡像
<center>容器</center>
啟動
- 新建并啟動
所需命令主要為==docker run==
docker run ubuntu:16.04 -t -i /bin/bash
-t:分配一個終端
-i:保持打開容器的標(biāo)注輸入 - 啟動已終止的
==docker container start== 命令將已終止的容器運行
守護態(tài)運行
后臺運行:更多時候需要讓docker在后臺運行,此時可以通過添加==-d==參數(shù)來實現(xiàn),使用==docker container ls==查看容器信息輸出的結(jié)果使用==docker container logs[id/name]==查看。
相關(guān)命令
==docker container stop==終止一個運行中的程序
==docker container la -a==查看終止?fàn)顟B(tài)的容器
==docker container start==重新啟動容器
==docker container ls==查看容器信息
==docker exec -it 編號 bash==進入容器
==docker export 容器號 > 文件== 導(dǎo)出容器
==docker import URL/文件目錄== 導(dǎo)入容器
==docker load== 導(dǎo)入鏡像存儲文件到本地鏡像庫
==docker container rm ==刪除容器
<center>訪問倉庫</center>
==倉庫:==集中存放鏡像的地方
Docker Hub中存放著超過15000個鏡像
登陸docker hub:docker log(命令交互
登出:docker logout
拉曲鏡像
==docker search:==查找官方倉庫中的鏡像
==docker push==將鏡像推送到Docker Hub中
推送鏡像過程:
- docker tag ubuntu:17.10 username/ubuntu:17.10
- docker image ls
- docker push username/ubuntu17.10
- docker seacher username
創(chuàng)建私有庫
使用官方提供的==registry==創(chuàng)建私有鏡像
==docker run -d -p 5000:5000 -v /opt/data registry==
重新標(biāo)記鏡像
使用==docker tag==可以重新標(biāo)記鏡像
==docker tag ubuntu:16.04 127.0.0.1:5000/ubuntu:latest==
將ubuntu:16.04重新標(biāo)記為127.0.0.1:5000/ubuntu:latest
使用==docker push==上傳鏡像
==docker push 127.0.0.1:5000/ubuntu:latest==
使用==curl==查看倉庫中的鏡像
==curl 127.0.0.1:5000/v2/_catalog==