容器技術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映象Docker
- 簡單介紹雲端計算的容器技術
- docker映象、容器以及命令操作Docker
- 容器技術之Docker私有映象倉庫harborDocker
- 容器技術之Docker私有映象倉庫docker-distributionDocker
- docker技術總結Docker
- 雲端計算技術文件
- Docker容器學習梳理 - 日常操作總結Docker
- Docker | Docker技術基礎梳理(四) - 深入理解映象與容器Docker
- 【Docker】(9)---每天5分鐘玩轉 Docker 容器技術之映象Docker
- 雲端計算時代——本質、技術、創新、戰略
- Docker 映象及容器操作命令介紹Docker
- 技術革命——雲端計算結合人工智慧人工智慧
- docker技術總結(二)Docker
- 雲端計算技術特點!
- 雲端計算儲存技術
- 好程式設計師雲端計算培訓分享雲端計算必會的Docker容器命令程式設計師Docker
- 雲端計算與虛擬化結合技術分析
- 【雲端計算與大資料處理技術】公開課實況大資料
- Docker--容器技術Docker
- docker容器技術原理Docker
- SOA、ESB、NServiceBus、雲端計算 總結
- 雲端計算技術發展的六大趨勢
- 雲端計算實現了業務和技術分離
- “雲端計算與大資料處理技術”3天課程紀實!大資料
- 雲端計算技術是什麼?雲端計算有什麼優勢?
- Docker技術( 容器虛擬化技術 )Docker
- Docker容器技術與Docker介紹Docker
- 實踐:Docker容器與映象管理Docker
- 雲端計算平臺上的大資料技術解讀!大資料
- 雲端計算的拐點隱現 華為雲開源兩款容器技術
- 雲端計算教程學習入門影片課件:虛擬化技術和容器技術詳解
- 雲端計算開發技術Python自動化運維開發實戰二Python運維
- Docker容器編排技術解析與實踐Docker
- 雲端計算中容器的功能
- 雲端計算 之 Docker--Docker 應用實戰案例--基於 registry 搭建私有倉庫Docker
- Docker 匯出容器 / 映象Docker
- 以 Kubernetes 為代表的容器技術,已成為雲端計算的新介面