Docker 鏡像詳細(xì)講解


Docker 要求 CentOS 系統(tǒng)的內(nèi)核版本高于 3.10 ,查看本頁面的前提條件來驗(yàn)證你的 CentOS 版本是否支持Docker uname -r使用 root 權(quán)限登錄 CentOS。確保 yum 包更新到最新
sudo yum updatesudo yum remove docker docker-common docker-selinux docker-enginesudo yum install -y yum-utils device-mapper-persistent-data lvm2設(shè)置yum源
官方源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo阿里云源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo清華大學(xué)源
sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.reposudo yum install docker-ceyum list docker-ce --showduplicates | sort -rsudo yum install docker-ce-版本號(hào).ce
sudo systemctl start dockersudo systemctl enable docker
docker versionDocker CE 支持以下版本的 Ubuntu 操作系統(tǒng):
Artful 17.10 (Docker CE 17.11 Edge +) Xenial 16.04 (LTS) Trusty 14.04 (LTS)
Docker CE 可以安裝在 64 位的 x86平臺(tái)或 ARM 平臺(tái)上。Ubuntu 發(fā)行版中,LTS(Long-Term-Support)長(zhǎng)期支持版本,會(huì)獲得 5 年的升級(jí)維護(hù)支持,這樣的版本會(huì)更穩(wěn)定,因此在生產(chǎn)環(huán)境中推薦使用 LTS 版本,當(dāng)前最新的 LTS 版本為 Ubuntu 16.04。
docker-engine,使用以下命令卸載舊版本:sudo apt-get remove docker \docker-engine \docker.io
使用腳本自動(dòng)安裝
curl -fsSL get.docker.com -o get-docker.shsudo sh get-docker.sh --mirror AzureChinaCloud
sudo systemctl enable dockersudo systemctl start docker
先執(zhí)行命令:apt-get autoremove docker-ce
刪除 /etc/apt/sources.list.d 目錄下的 docker.list 文件

Docker 鏡像加速器
Docker 官方提供的中國 registry mirror 阿里云加速器 DaoCloud 加速器
DOCKER_OPTS="--registry-mirror=https://xxxxxxxx.mirror.aliyuncs.com"sudo service docker restart{"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]}
sudo systemctl daemon-reloadsudo systemctl restart docker
Registry Mirrors:https://xxxxxxxx.mirror.aliyuncs.com

Docker 鏡像
docker pullDocker 鏡像倉庫地址:地址的格式一般是 <域名/IP>[:端口號(hào)] 。默認(rèn)地址是 Docker Hub。
$ docker pull ubuntu:16.0416.04: Pulling from library/ubuntu4f53fa4d2cf0: Pull complete6af7c939e38e: Pull complete903d0ffd64f6: Pull complete04feeed388b7: Pull completeDigest: sha256:185fec2d6dbe9165f35e4a1136b4cf09363b328d4f850695393ca191aa1475fdStatus: Downloaded newer image for ubuntu:16.04docker.io/library/ubuntu:16.04
$ docker run -it --rm \ubuntu:16.04 \bashroot@e7009c6ce357:/# cat /etc/os-releaseNAME="Ubuntu"VERSION="16.04.4 LTS, Trusty Tahr"ID=ubuntuID_LIKE=debianPRETTY_NAME="Ubuntu 16.04.4 LTS"VERSION_ID="16.04"HOME_URL="http://www.ubuntu.com/"SUPPORT_URL="http://help.ubuntu.com/"BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
it :這是兩個(gè)參數(shù),一個(gè)是 -i :交互式操作,一個(gè)是 -t 終端。我們這里打算進(jìn)入 bash 執(zhí)行一些命令并查看返回結(jié)果,因此我們需要交互式終端。 --rm :這個(gè)參數(shù)是說容器退出后隨之將其刪除。默認(rèn)情況下,為了排障需求,退出的容器并不會(huì)立即刪除,除非手動(dòng) docker rm 。我們這里只是隨便執(zhí)行個(gè)命令,看看結(jié)果,不需要排障和保留結(jié)果,因此使用 --rm 可以避免浪費(fèi)空間。 ubuntu:16.04 :這是指用 ubuntu:16.04 鏡像為基礎(chǔ)來啟動(dòng)容器。 bash :放在鏡像名后的是命令,這里我們希望有個(gè)交互式 Shell,因此用的是 bash。
docker image lsREPOSITORY TAG IMAGE ID CREATED SIZEredis latest 5f515359c7f8 5 days ago 183 MBnginx latest 05a60462f8ba 5 days ago 181 MBmongo 3.2 fe9198c04d62 5 days ago 342 MB<none> 00285df0df87 5 days ago 342 MBubuntu 16.04 f753707788c5 4 weeks ago 127 MBubuntu latest f753707788c5 4 weeks ago 127 MBubuntu 14.04 1e0c3dd64ccd 4 weeks ago 188 MB
docker system dfTYPE TOTAL ACTIVE SIZE RECLAIMABLEImages 24 0 1.992GB 1.992GB (100%)Containers 1 0 62.82MB 62.82MB (100%)Local Volumes 9 0 652.2MB 652.2MB (100%)Build Cache
<none> <none> 00285df0df87 5 days ago 342 MB$ docker image ls -f dangling=trueREPOSITORY TAG IMAGE ID CREATED SIZE<none> <none> 00285df0df87 5 days ago 342 MB
docker image prune3.2.3 中間層鏡像
docker image ls -adocker image ls ubuntuREPOSITORY TAG IMAGE ID CREATED SIZEubuntu 16.04 f753707788c5 4 weeks ago 127 MBubuntu latest f753707788c5 4 weeks ago 127 MBubuntu 14.04 1e0c3dd64ccd 4 weeks ago 188 MB
docker image ls ubuntu:16.04REPOSITORY TAG IMAGE ID CREATED SIZEubuntu 16.04 f753707788c5 4 weeks ago 127 MB
docker image ls -f since=mongo:3.2REPOSITORY TAG IMAGE ID CREATED SIZEredis latest 5f515359c7f8 5 days ago 183 MBnginx latest 05a60462f8ba 5 days ago 181 MB
docker image ls -f label=com.example.version=0.1...
$ docker image ls -q5f515359c7f805a60462f8bafe9198c04d6200285df0df87f753707788c5f753707788c51e0c3dd64ccd
$ docker image ls --format "{{.ID}}: {{.Repository}}"5f515359c7f8: redis05a60462f8ba: nginxfe9198c04d62: mongo00285df0df87: <none>f753707788c5: ubuntuf753707788c5: ubuntu1e0c3dd64ccd: ubuntu
docker image ls --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"docker image rm [選項(xiàng)] <鏡像1> [<鏡像2> ...]docker image lsREPOSITORY TAG IMAGE ID CREATED SIZEcentos latest 0584b3d2cf6d 3 weeks ago 196.5 MBredis alpine 501ad78535f0 3 weeks ago 21.03 MBdocker latest cf693ec9b5c7 3 weeks ago 105.1 MBnginx latest e43d811ce2f4 5 weeks ago 181.5 MB
$ docker image rm 501Untagged: redis:alpineUntagged: redis@sha256:f1ed3708f538b537eb9c2a7dd50dc90a706f7debd7e1196c9264edeea521a86dDeleted: sha256:501ad78535f015d88872e13fa87a828425117e3d28075d0c117932b05bf189b7Deleted: sha256:96167737e29ca8e9d74982ef2a0dda76ed7b430da55e321c071f0dbff8c2899bDeleted: sha256:32770d1dcf835f192cafd6b9263b7b597a1778a403a109e2cc2ee866f74adf23Deleted: sha256:127227698ad74a5846ff5153475e03439d96d4b1c7f2a449c7a826ef74a2d2faDeleted: sha256:1333ecc582459bac54e1437335c0816bc17634e131ea0cc48daa27d32c75eab3Deleted: sha256:4fc455b921edf9c4aea207c51ab39b10b06540c8b4825ba57b3feed1668fa7c7
$ docker image rm centosUntagged: centos:latestUntagged: centos@sha256:b2f9d1c0ff5f87a4743104d099a3d561002ac500db1b9bfa02a783a46e0d366cDeleted: sha256:0584b3d2cf6d235ee310cf14b54667d889887b838d3f3d3033acd70fc3c48b8aDeleted: sha256:97ca462ad9eeae25941546209454496e1d66749d53dfa2ee32bf1faabd239d38
$ docker image ls --digestsREPOSITORY TAG DIGEST IMAGE ID CREATED SIZEnode slim sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b164422be228 6e0c4c8e3913 3 weeks ago 214 MB$ docker image rm node@sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b164422be228Untagged: node@sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b164422be228
docker image rm $(docker image ls -q redis)docker image rm $(docker image ls -q -f before=mongo:3.2)來源:CSDN 博客
(版權(quán)歸原作者所有,侵刪)
10T 技術(shù)資源大放送!包括但不限于:Linux、虛擬化、容器、云計(jì)算、網(wǎng)絡(luò)、Python、Go 等。在開源Linux公眾號(hào)內(nèi)回復(fù)「10T」,即可免費(fèi)獲?。?/span>
shell編程100例(附PDF下載)
IPv6技術(shù)白皮書(附PDF下載)
Linux主流發(fā)行版本配置IP總結(jié)(Ubuntu、CentOS、Redhat、Suse)
批量安裝Windows系統(tǒng)
無人值守批量安裝服務(wù)器
運(yùn)維必備的《網(wǎng)絡(luò)端口大全》,看這一份就夠了。
收藏:服務(wù)器和存儲(chǔ)知識(shí)入門
什么叫SSH?原理詳解,看這一篇就夠了!
Nginx面試40問(收藏吃灰)
20 個(gè) Linux 服務(wù)器性能調(diào)優(yōu)技巧
超詳細(xì)!一文帶你了解LVS四層負(fù)載均衡企業(yè)級(jí)實(shí)踐!
收藏 | Linux系統(tǒng)日志位置及包含的日志內(nèi)容介紹
100 道 Linux 常見面試題,建議收藏,慢慢讀~
服務(wù)器12種基本故障+排查方法
IT運(yùn)維管理常用工具大全,讓你成為真正的高手
什么是QoS?
有收獲,點(diǎn)個(gè)在看 
shell編程100例(附PDF下載)
IPv6技術(shù)白皮書(附PDF下載)
Linux主流發(fā)行版本配置IP總結(jié)(Ubuntu、CentOS、Redhat、Suse)
批量安裝Windows系統(tǒng)
無人值守批量安裝服務(wù)器
運(yùn)維必備的《網(wǎng)絡(luò)端口大全》,看這一份就夠了。
收藏:服務(wù)器和存儲(chǔ)知識(shí)入門
什么叫SSH?原理詳解,看這一篇就夠了!
Nginx面試40問(收藏吃灰)
20 個(gè) Linux 服務(wù)器性能調(diào)優(yōu)技巧
超詳細(xì)!一文帶你了解LVS四層負(fù)載均衡企業(yè)級(jí)實(shí)踐!
收藏 | Linux系統(tǒng)日志位置及包含的日志內(nèi)容介紹
100 道 Linux 常見面試題,建議收藏,慢慢讀~
服務(wù)器12種基本故障+排查方法
IT運(yùn)維管理常用工具大全,讓你成為真正的高手
什么是QoS?
有收獲,點(diǎn)個(gè)在看
