1、 镜像命名
一个完整的镜像命名:
[DockerRegistry地址/][项目目录/]<名称>:[标签]
示例:
mysql:5.6
ubuntu
hub.docker.com/library/centos:6.6
2、 获取镜像
root@Userver01:~# docker pullubuntu:16.04
16.04: Pulling fromlibrary/ubuntu
7b8b6451c85f: Already exists
ab4d1096d9ba: Already exists
e6797d1788ac: Already exists
e25c5c290bde: Already exists
Digest:sha256:e547ecaba7d078800c358082088e6cc710c3affd1b975601792ec701c80cdd39
Status: Downloaded newer imagefor ubuntu:16.04
3、 查看镜像信息
root@Userver01:~# docker imagels
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 16.04 a51debf7e1eb 7 days ago 116MB
nginx 1.15 e81eb098537d 10 days ago 109MB
httpd latest 2a51bb06dc8b 11 days ago 132MB
centos 6.6 4e1ad2ce7f78 6 weeks ago 203MB
root@Userver01:~# dockerinspect a51
[
{
“Id”:”sha256:a51debf7e1eb2018400cef1e4b01f2e9f591f6c739de7b5d6c142f954f3715a7”,
“RepoTags”: [
“ubuntu:16.04”
],
“RepoDigests”: [
“ubuntu@sha256:e547ecaba7d078800c358082088e6cc710c3affd1b975601792ec701c80cdd39”
],
“Parent”: “”,
“Comment”: “”,
“Created”:”2018-11-19T21:23:53.455319926Z”,
“Container”:”f4879d05f303ba132b6cc82988306e44819b9d0872dc891d864374d3a9b51b08”,
“ContainerConfig”: {
“Hostname”:”f4879d05f303”,
“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:d6ab6854552cda39995558786e1690e20092af93f8145294473ac62fd76c9b1b”,
“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:d6ab6854552cda39995558786e1690e20092af93f8145294473ac62fd76c9b1b”,
“Volumes”: null,
“WorkingDir”:””,
“Entrypoint”: null,
“OnBuild”: null,
“Labels”: null
},
“Architecture”:”amd64”,
“Os”: “linux”,
“Size”: 116379573,
“VirtualSize”: 116379573,
“GraphDriver”: {
“Data”: {
“LowerDir”:”/var/lib/docker/overlay2/d24cfbca95c7fb4a2653aed1fef5e854164d5e452ec1ca1f08d256a841ec9cbe/diff:/var/lib/docker/overlay2/1bc9dd6a582662525ae316dca49703acbcc8087c0549354c622cd0c4eb7095de/diff:/var/lib/docker/overlay2/402ffcd593a76628eb8f3b6dd843b195396729227e55c51c896089ca668770ef/diff”,
“MergedDir”:”/var/lib/docker/overlay2/6f5f819b34a36a3cd93e84d2a12a86a3e61f5663a7401ae73cd308211cc3329f/merged”,
“UpperDir”:”/var/lib/docker/overlay2/6f5f819b34a36a3cd93e84d2a12a86a3e61f5663a7401ae73cd308211cc3329f/diff”,
“WorkDir”:”/var/lib/docker/overlay2/6f5f819b34a36a3cd93e84d2a12a86a3e61f5663a7401ae73cd308211cc3329f/work”
},
“Name”:”overlay2”
},
“RootFS”: {
“Type”:”layers”,
“Layers”: [
“sha256:41c002c8a6fd36397892dc6dc36813aaa1be3298be4de93e4fe1f40b9c358d99”,
“sha256:647265b9d8bc572a858ab25a300c07c0567c9124390fd91935430bf947ee5c2a”,
“sha256:819a824caf709f224c414a56a2fa0240ea15797ee180e73abe4ad63d3806cae5”,
“sha256:3db5746c911ad8c3398a6b72aa30580b25b6edb130a148beed4d405d9c345a29”
]
},
“Metadata”: {
“LastTagTime”:”0001-01-01T00:00:00Z”
}
}
]
4、 为镜像创建tag
root@Userver01:~# docker tagubuntu:16.04 dl.dockerpool.com/library/ubuntu:16.04v1
root@Userver01:~# docker imagels
REPOSITORY TAG IMAGE ID CREATED SIZE
dl.dockerpool.com/library/ubuntu 16.04v1 a51debf7e1eb 7 days ago 116MB
ubuntu 16.04 a51debf7e1eb 7 days ago 116MB
nginx 1.15 e81eb098537d 10 days ago 109MB
httpd latest 2a51bb06dc8b 11 days ago 132MB
centos 6.6 4e1ad2ce7f78 6 weeks ago 203MB
5、 搜索镜像
root@Userver01:~# dockersearch mysql
NAMEDESCRIPTION STARS OFFICIAL AUTOMATED
mysqlMySQL is a widely used, open-source relation… 7407 [OK]
mariadbMariaDB is a community-developed fork of MyS… 2376 [OK]
mysql/mysql-server OptimizedMySQL Server Docker images. Create…552[OK]
zabbix/zabbix-server-mysql Zabbix Server with MySQL databasesupport 145 [OK]
hypriot/rpi-mysqlRPi-compatible Docker Image with Mysql 102
zabbix/zabbix-web-nginx-mysql Zabbix frontend basedon Nginx web-server wi… 77 [OK]
centurylink/mysql Imagecontaining mysql. Optimized to be link…59 [OK]
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 47 [OK]
6、 删除镜像(注:如果镜像有容器生成,需要先删除容器)
#如果一个镜像有多个tag,只会删除指定的tag,镜像本身不会删除,如果docker rmi后指定镜像ID,则所有tag都会被删除
root@Userver01:~# docker rmidl.dockerpool.com/library/ubuntu:16.04v1
Untagged:dl.dockerpool.com/library/ubuntu:16.04v1
root@Userver01:~# docker imagels
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 16.04 a51debf7e1eb 7 days ago 116MB
nginx 1.15 e81eb098537d 10 days ago 109MB
httpd latest 2a51bb06dc8b 11 days ago 132MB
centos 6.6 4e1ad2ce7f78 6 weeks ago 203MB
root@Userver01:~# docker rmiubuntu:16.04
Error response from daemon:conflict: unable to remove repository reference “ubuntu:16.04” (mustforce) - container 4683e7b221b7 is using itsreferenced image a51debf7e1eb
root@Userver01:~# docker rmiubuntu:16.04 -f
Untagged: ubuntu:16.04
Untagged:ubuntu@sha256:e547ecaba7d078800c358082088e6cc710c3affd1b975601792ec701c80cdd39
Deleted:sha256:a51debf7e1eb2018400cef1e4b01f2e9f591f6c739de7b5d6c142f954f3715a7
root@Userver01:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a5a204b817cc a51debf7e1eb “/bin/bash” About an hour ago Exited (0) About an hour ago gifted_tereshkova
4683e7b221b7 a51debf7e1eb “/bin/echo ‘hello wo…” About an hour ago Exited (0) About an hour ago pedantic_swirles
b911f2812e51 httpd”httpd-foreground”About an hour ago Up About anhour0.0.0.0:80->80/tcpmodest_vaughan
root@Userver01:~# docker imagels
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.15 e81eb098537d 10 days ago 109MB
httpd latest 2a51bb06dc8b 11 days ago 132MB
centos 6.6 4e1ad2ce7f78 6 weeks ago 203MB
# 删除无标签镜像(即为none)
root@Userver01:~# docker rmi$(docker images -q —filter “dangling=true”)
7、 导出和载入镜像
root@Userver01:~# docker save-o ubuntu_16.04.tar ubuntu:16.04
root@Userver01:~# docker rmiubuntu:16.04 -f
Untagged: ubuntu:16.04
Deleted:sha256:a51debf7e1eb2018400cef1e4b01f2e9f591f6c739de7b5d6c142f954f3715a7
root@Userver01:~# docker load—input ubuntu_16.04.tar
Loaded image: ubuntu:16.04
8、 通过docker commit提交一个新镜像
docker commit -m “change httpd.conf file” -a “john” b911f2812e51 test #使用b911f2812e51容器生成一个名为test的镜像
-a:指定作者
-m:相关说明信息
-p:提交时暂停容器运行