日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

容器技术Docker云计算实战 镜像操作大总结

發布時間:2025/5/22 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 容器技术Docker云计算实战 镜像操作大总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker實戰之鏡像操作:

獲取鏡像:

docker pull NAME[:TAG]


root@doc-vm:~# docker pull hello-world

Using default tag: latest

latest: Pulling from library/hello-world

ca4f61b1923c: Pull complete

Digest: sha256:150f6d05b8898b79f55114991c01b89688a02dab6115e402b7855792a440caff

Status: Downloaded newer image for hello-world:latest


latest標簽意味著這個鏡像的內容會跟蹤最新的非穩定版本而發步,內容是不穩定的。不要在生產環境中使用latest標簽的鏡像。


使用其他鏡像源進行下載:

root@doc-vm:~# docker pull hub.c.163.com/public/ubuntu:14.04

14.04: Pulling from public/ubuntu

f4ab0b34ba6a: Pull complete

2f0787dc0bfe: Pull complete

54c427d77362: Pull complete

51e87d5424ff: Pull complete

5dfa314e7290: Pull complete

a3ed95caeb02: Pull complete

Digest: sha256:ffc2fc66f8e0bfa4b417b817054d3ebec130c8db44342b8fa394e25779633257

Status: Downloaded newer image for hub.c.163.com/public/ubuntu:14.04

pull命令支持的選項:

-a, --all-tags=true|false:是否獲取倉庫中的所有鏡像,默認是否。


查看鏡像信息:

docker images


root@doc-vm:~# docker images

REPOSITORY? ? ? ? ? ? ? ? ? ? TAG? ? ? ? ? ? ? ? ?IMAGE ID? ? ? ? ? ? CREATED? ? ? ? ? ? ?SIZE

nginx? ? ? ? ? ? ? ? ? ? ? ? ?latest? ? ? ? ? ? ? 9e7424e5dbae? ? ? ? 5 days ago? ? ? ? ? 108 MB

hello-world? ? ? ? ? ? ? ? ? ?latest? ? ? ? ? ? ? f2a91732366c? ? ? ? 7 days ago? ? ? ? ? 1.85 kB

ubuntu? ? ? ? ? ? ? ? ? ? ? ? latest? ? ? ? ? ? ? 20c44cd7596f? ? ? ? 10 days ago? ? ? ? ?123 MB

tomcat? ? ? ? ? ? ? ? ? ? ? ? latest? ? ? ? ? ? ? 11df4b40749f? ? ? ? 13 days ago? ? ? ? ?558 MB

mysql? ? ? ? ? ? ? ? ? ? ? ? ?latest? ? ? ? ? ? ? 5709795eeffa? ? ? ? 3 weeks ago? ? ? ? ?408 MB

busybox? ? ? ? ? ? ? ? ? ? ? ?latest? ? ? ? ? ? ? 6ad733544a63? ? ? ? 3 weeks ago? ? ? ? ?1.13 MB

centos? ? ? ? ? ? ? ? ? ? ? ? latest? ? ? ? ? ? ? d123f4e55e12? ? ? ? 3 weeks ago? ? ? ? ?197 MB

hub.c.163.com/public/ubuntu? ?14.04? ? ? ? ? ? ? ?2fe5c4bba1f9? ? ? ? 20 months ago? ? ? ?237 MB


images的子選項:

-a, --all=true|false:列出所有鏡像文件,默認是否

--digest=true|false:列出鏡像的數字摘要值,默認是否

-f,--filter=[]:過濾列出的鏡像

--format="TEMPLATE":控制輸出格式

--no-turnc=true|false:對輸出結果中太長的部分是否進行截斷,默認為是

-q,--quiet=true|false:僅僅輸出ID信息,默認是否


使用tag命令添加鏡像標簽:

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

root@doc-vm:~# docker tag ubuntu:latest mysystem:latest

root@doc-vm:~# docker images

REPOSITORY? ? ? ? ? ? ? ? ? ? TAG? ? ? ? ? ? ? ? ?IMAGE ID? ? ? ? ? ? CREATED? ? ? ? ? ? ?SIZE

nginx? ? ? ? ? ? ? ? ? ? ? ? ?latest? ? ? ? ? ? ? 9e7424e5dbae? ? ? ? 5 days ago? ? ? ? ? 108 MB

hello-world? ? ? ? ? ? ? ? ? ?latest? ? ? ? ? ? ? f2a91732366c? ? ? ? 7 days ago? ? ? ? ? 1.85 kB

mysystem? ? ? ? ? ? ? ? ? ? ? latest? ? ? ? ? ? ? 20c44cd7596f? ? ? ? 10 days ago? ? ? ? ?123 MB

ubuntu? ? ? ? ? ? ? ? ? ? ? ? latest? ? ? ? ? ? ? 20c44cd7596f? ? ? ? 10 days ago? ? ? ? ?123 MB

tomcat? ? ? ? ? ? ? ? ? ? ? ? latest? ? ? ? ? ? ? 11df4b40749f? ? ? ? 13 days ago? ? ? ? ?558 MB

mysql? ? ? ? ? ? ? ? ? ? ? ? ?latest? ? ? ? ? ? ? 5709795eeffa? ? ? ? 3 weeks ago? ? ? ? ?408 MB

busybox? ? ? ? ? ? ? ? ? ? ? ?latest? ? ? ? ? ? ? 6ad733544a63? ? ? ? 3 weeks ago? ? ? ? ?1.13 MB

centos? ? ? ? ? ? ? ? ? ? ? ? latest? ? ? ? ? ? ? d123f4e55e12? ? ? ? 3 weeks ago? ? ? ? ?197 MB

hub.c.163.com/public/ubuntu? ?14.04? ? ? ? ? ? ? ?2fe5c4bba1f9? ? ? ? 20 months ago? ? ? ?237 MB


實際上指向的是同一個文件,只是別名而已。


使用inspect命令查看詳細信息:

docker inspect [OPTIONS] NAME|ID [NAME|ID...]


root@doc-vm:~# docker inspect ubuntu

[

? ? {

? ? ? ? "Id": "sha256:20c44cd7596ff4807aef84273c99588d22749e2a7e15a7545ac96347baa65eda",

? ? ? ? "RepoTags": [

? ? ? ? ? ? "mysystem:latest",

? ? ? ? ? ? "ubuntu:latest"

? ? ? ? ],

? ? ? ? "RepoDigests": [

? ? ? ? ? ? "ubuntu@sha256:cb67b69a3b83dc209418cf15dace1a2fe336e37ef6a972a00fb9e02a608a8184"

? ? ? ? ],

? ? ? ? "Parent": "",

? ? ? ? "Comment": "",

? ? ? ? "Created": "2017-11-17T21:59:25.014645802Z",

? ? ? ? "Container": "e5f1a9df75b86a5d803eaf6f3fed6a0f8ef5fbf15a6c5039df087e4348ed8171",

? ? ? ? "ContainerConfig": {

? ? ? ? ? ? "Hostname": "e5f1a9df75b8",

? ? ? ? ? ? "Domainname": "",

? ? ? ? ? ? "User": "",

? ? ? ? ? ? "AttachStdin": false,

? ? ? ? ? ? "AttachStdout": false,

? ? ? ? ? ? "AttachStderr": false,

? ? ? ? ? ? "Tty": false,

? ? ? ? ? ? "OpenStdin": false,

? ? ? ? ? ? "StdinOnce": false,

? ? ? ? ? ? "Env": [

? ? ? ? ? ? ? ? "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

? ? ? ? ? ? ],

? ? ? ? ? ? "Cmd": [

? ? ? ? ? ? ? ? "/bin/sh",

? ? ? ? ? ? ? ? "-c",

? ? ? ? ? ? ? ? "#(nop) ",

? ? ? ? ? ? ? ? "CMD [\"/bin/bash\"]"

? ? ? ? ? ? ],

? ? ? ? ? ? "ArgsEscaped": true,

? ? ? ? ? ? "Image": "sha256:b5771e7d8dcc594b886dbdd6a9c3de60d45252ca657dfdff6e1d996728dfa2cd",

? ? ? ? ? ? "Volumes": null,

? ? ? ? ? ? "WorkingDir": "",

? ? ? ? ? ? "Entrypoint": null,

? ? ? ? ? ? "OnBuild": null,

? ? ? ? ? ? "Labels": {}

? ? ? ? },

? ? ? ? "DockerVersion": "17.06.2-ce",

? ? ? ? "Author": "",

? ? ? ? "Config": {

? ? ? ? ? ? "Hostname": "",

? ? ? ? ? ? "Domainname": "",

? ? ? ? ? ? "User": "",

? ? ? ? ? ? "AttachStdin": false,

? ? ? ? ? ? "AttachStdout": false,

? ? ? ? ? ? "AttachStderr": false,

? ? ? ? ? ? "Tty": false,

? ? ? ? ? ? "OpenStdin": false,

? ? ? ? ? ? "StdinOnce": false,

? ? ? ? ? ? "Env": [

? ? ? ? ? ? ? ? "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

? ? ? ? ? ? ],

? ? ? ? ? ? "Cmd": [

? ? ? ? ? ? ? ? "/bin/bash"

? ? ? ? ? ? ],

? ? ? ? ? ? "ArgsEscaped": true,

? ? ? ? ? ? "Image": "sha256:b5771e7d8dcc594b886dbdd6a9c3de60d45252ca657dfdff6e1d996728dfa2cd",

? ? ? ? ? ? "Volumes": null,

? ? ? ? ? ? "WorkingDir": "",

? ? ? ? ? ? "Entrypoint": null,

? ? ? ? ? ? "OnBuild": null,

? ? ? ? ? ? "Labels": null

? ? ? ? },

? ? ? ? "Architecture": "amd64",

? ? ? ? "Os": "linux",

? ? ? ? "Size": 122792927,

? ? ? ? "VirtualSize": 122792927,

? ? ? ? "GraphDriver": {

? ? ? ? ? ? "Name": "aufs",

? ? ? ? ? ? "Data": null

? ? ? ? },

? ? ? ? "RootFS": {

? ? ? ? ? ? "Type": "layers",

? ? ? ? ? ? "Layers": [

? ? ? ? ? ? ? ? "sha256:788ce2310e2fdbbf81fe21cbcc8a44da4cf648b0339b09c221abacb4cd5fd136",

? ? ? ? ? ? ? ? "sha256:aa4e47c4511638484cd5d95eadd7a8e4da307375ba31ff50d47aa9065dce01e0",

? ? ? ? ? ? ? ? "sha256:b3968bc26fbd527f214f895aeef940a6930c62d853fe8b12bd479f0b53518150",

? ? ? ? ? ? ? ? "sha256:c9748fbf541d3e043521e165b015d45825de33c00a8acb037443cfbd0cb5e677",

? ? ? ? ? ? ? ? "sha256:2f5b0990636a87f1557d64ba39808dcd64031328b2a159c5805115b8e725bbbc"

? ? ? ? ? ? ]

? ? ? ? }

? ? }

]

返回的是Josn格式的信息,指定其中一項可以是:

root@doc-vm:~# docker inspect -f {{".Os"}} ubuntu

linux


搜索鏡像:

docker search [OPTIONS] TERM

--automated-true|false:僅僅顯示自動創建的鏡像,默認是否

--no-trunc=true|false:輸出信息不截斷顯示,默認是否

-s,--stare=X:僅僅顯示評價為指定星級以上的鏡像,默認是0,也就是輸出所有的鏡像。


root@doc-vm:~# docker search ubuntu

NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DESCRIPTION? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?STARS? ? ?OFFICIAL? ?AUTOMATED

ubuntu? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Ubuntu is a Debian-based Linux operating s...? ?6868? ? ? [OK]

dorowu/ubuntu-desktop-lxde-vnc? ? ? ? ? ? ? ? ? ? ? ? ?Ubuntu with openssh-server and NoVNC? ? ? ? ? ? 146? ? ? ? ? ? ? ? ? [OK]

rastasheep/ubuntu-sshd? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Dockerized SSH service, built on top of of...? ?117? ? ? ? ? ? ? ? ? [OK]

ansible/ubuntu14.04-ansible? ? ? ? ? ? ? ? ? ? ? ? ? ? Ubuntu 14.04 LTS with ansible? ? ? ? ? ? ? ? ? ?89? ? ? ? ? ? ? ? ? ?[OK]

ubuntu-upstart? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Upstart is an event-based replacement for ...? ?80? ? ? ? [OK]

neurodebian? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NeuroDebian provides neuroscience research...? ?40? ? ? ? [OK]

ubuntu-debootstrap? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?debootstrap --variant=minbase --components...? ?32? ? ? ? [OK]

nuagebec/ubuntu? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Simple always updated Ubuntu docker images...? ?22? ? ? ? ? ? ? ? ? ?[OK]

tutum/ubuntu? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Simple Ubuntu docker images with SSH access? ? ?19

1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5? ?ubuntu-16-nginx-php-phpmyadmin-mysql-5? ? ? ? ? 18? ? ? ? ? ? ? ? ? ?[OK]

... ...


使用docker history查看鏡像歷史:

鏡像是由多個層組成的,查看每個層的具體內容。

root@doc-vm:~# docker history ubuntu

IMAGE? ? ? ? ? ? ? ?CREATED? ? ? ? ? ? ?CREATED BY? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SIZE? ? ? ? ? ? ? ? COMMENT

20c44cd7596f? ? ? ? 10 days ago? ? ? ? ?/bin/sh -c #(nop)? CMD ["/bin/bash"]? ? ? ? ? ? 0 B

<missing>? ? ? ? ? ?10 days ago? ? ? ? ?/bin/sh -c mkdir -p /run/systemd && echo '...? ?7 B

<missing>? ? ? ? ? ?10 days ago? ? ? ? ?/bin/sh -c sed -i 's/^#\s*\(deb.*universe\...? ?2.76 kB

<missing>? ? ? ? ? ?10 days ago? ? ? ? ?/bin/sh -c rm -rf /var/lib/apt/lists/*? ? ? ? ? 0 B

<missing>? ? ? ? ? ?10 days ago? ? ? ? ?/bin/sh -c set -xe? ?&& echo '#!/bin/sh' >...? ?745 B

<missing>? ? ? ? ? ?10 days ago? ? ? ? ?/bin/sh -c #(nop) ADD file:280a445783f309c...? ?123 MB


刪除鏡像:

使用docker rmi刪除鏡像,命令格式:docker rmi IMAGE [IMAGE...]

如果鏡像有多個標簽,docker rmi命令只會刪除該鏡像的指定標簽,并不會影響鏡像文件,當只剩下一個標簽的時候才會刪除真正的鏡像。


docker rmi ID [ID...]

首先會嘗試刪除所有指向該鏡像的標簽,然后刪除該鏡像的文件本身。

當基于該鏡像的容器正在運行的時候,默認是無法刪除的,可以使用-f參數強制刪除。


創建鏡像:

基于已經有的鏡像創建鏡像:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

-a,--author="":作者信息

-c,--change=[]:提交的時候執行Dockerfile命令

-m,--message="":提交信息

-p,--pause=true:提交時暫停容器的運行

root@doc-vm:~# docker run -it ubuntu bash

root@6ea8cd52c3eb:/# touch test

root@6ea8cd52c3eb:/# exit

exit

root@doc-vm:~# docker ps -a

CONTAINER ID? ? ? ? IMAGE? ? ? ? ? ? ? ?COMMAND? ? ? ? ? ? ?CREATED? ? ? ? ? ? ?STATUS? ? ? ? ? ? ? ? ? ? ? PORTS? ? ? ? ? ? ? ?NAMES

6ea8cd52c3eb? ? ? ? ubuntu? ? ? ? ? ? ? "bash"? ? ? ? ? ? ? 52 seconds ago? ? ? Exited (0) 30 seconds ago? ? ? ? ? ? ? ? ? ? ? ?nervous_hoover

root@doc-vm:~# docker commit -m "Added a Docker image" -a "deepking" 6ea8cd52c3eb ubuntutest:1.0

sha256:4ef2ad9d1aea15766c612d3c0090ad6128f803ebb8f4a4b75005d90001dbc893

root@doc-vm:~# docker images

REPOSITORY? ? ? ? ? ? ? ? ? ? TAG? ? ? ? ? ? ? ? ?IMAGE ID? ? ? ? ? ? CREATED? ? ? ? ? ? ?SIZE

ubuntutest? ? ? ? ? ? ? ? ? ? 1.0? ? ? ? ? ? ? ? ?4ef2ad9d1aea? ? ? ? 7 seconds ago? ? ? ?123 MB

基于本地模板導入:

主要使用docker import [OPTIONS] file|url|-[REPOSITORY[:TAG]]

使用OpenVZ提供的模板;來創建,下載地址是:https://openvz.org/Download/template/precreated

root@doc-vm:~# cd Downloads/

root@doc-vm:~/Downloads# ll

total 705496

drwxr-xr-x? 2 doc doc? ? ? 4096 11月 29 12:33 ./

drwxr-xr-x 16 doc doc? ? ? 4096 11月 29 12:13 ../

-rw-rw-r--? 1 doc doc 111337720 11月 29 12:14 centos-6-x86-20170709.tar.xz

-rw-rw-r--? 1 doc doc? 67229480 11月 29 12:13 centos-6-x86-minimal-20170709.tar.xz

-rw-rw-r--? 1 doc doc? 69329732 11月 29 12:13 centos-7-x86_64-minimal-20170709.tar.xz

-rw-rw-r--? 1 doc doc? 81103335 11月 29 12:13 debian-6.0-x86-minimal.tar.gz

-rw-rw-r--? 1 doc doc 155356791 11月 29 12:16 debian-6.0-x86.tar.gz

-rw-rw-r--? 1 doc doc 181654531 11月 29 12:18 ubuntu-15.10-x86_64.tar.gz

-rw-rw-r--? 1 doc doc? 56375699 9月? 14 17:13 VMwareTools-10.1.15-6627299.tar.gz

root@doc-vm:~# cat debian-6.0-x86-minimal.tar.gz | docker import - debian:6.0


存儲和載入鏡像:

root@doc-vm:~# docker save -o tomcat_latest.tar tomcat? ?# 存儲鏡像

root@doc-vm:~# ll

drwxr-xr-x 16 doc? doc? ? ? ?4096 11月 29 13:52 ./

drwxr-xr-x? 3 root root? ? ? 4096 11月 27 21:52 ../

-rw-------? 1 root root 576676352 11月 29 13:52 tomcat_latest.tar

root@doc-vm:~# docker load --input tomcat_latest.tar? ? ?# 載入鏡像

Loaded image: tomcat:latest?

上傳鏡像:

docker push NAME[:TAG] | [REGISTRY_HOST[:REGISTRY_PORT]/]NAME[:TAG]

第一次上傳會提示登錄。


?本文轉自 棋帥小七 51CTO博客,原文鏈接:http://blog.51cto.com/xvjunjie/2045609

總結

以上是生活随笔為你收集整理的容器技术Docker云计算实战 镜像操作大总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。