Dokcer之镜像命令
1、获取镜像
Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库下载该镜像。
docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
$ docker pull ubuntu:16.04
16.04: Pulling from library/ubuntu
bf5d46315322: Pull complete
9f13e0ac480c: Pull complete
e8988b5b3097: Pull complete
40af181810e7: Pull complete
e6f7c7e5c03e: Pull complete
Digest: sha256:147913621d9cdea08853f6ba9116c2e27a3ceffecf3b492983ae97c3d643fbbe
Status: Downloaded newer image for ubuntu:16.04
上面的命令中没有给出 Docker 镜像仓库地址,因此将会从 Docker Hub 获取镜像。而镜像名称是 ubuntu:16.04,因此将会获取官方镜像 library/ubuntu 仓库中标签为 16.04 的镜像。 相当于
docker pull registry.hub.docker.com/ubuntu:16.04命令。
从下载过程中可以看到我们之前提及的分层存储的概念,镜像是由多层存储所构成。下载也是一层层的去下载,并非单一文件。下载过程中给出了每一层的 ID 的前 12 位。并且下载结束后,给出该镜像完整的 sha256 的摘要,以确保下载一致性。
2、搜寻镜像
docker search命令可以搜索远程仓库中共享的镜像,默认搜索Docker Hub官方仓库中的镜像。
[root@node02 ~]# docker search java
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
node Node.js is a JavaScript-based platform for... 6428 [OK]
tomcat Apache Tomcat is an open source implementa... 2105 [OK]
java Java is a concurrent, class-based, and obj... 1872 [OK]
openjdk OpenJDK is an open-source implementation o... 1297 [OK]
ghost Ghost is a free and open source blogging p... 860 [OK]
anapsix/alpine-java Oracle Java 8 (and 7) with GLIBC 2.28 over... 361 [OK]
jetty Jetty provides a Web server and javax.serv... 278 [OK]
groovy Apache Groovy is a mul