1、查看本地镜像mysql
只有下载后,镜像才会保存在本地(docker环境所在的主机),经过以下命令能够查看本地已经存在的镜像。sql
命令:dokcer imagesdocker
上面命令列出本地全部已经存在的镜像,显示的信息如:ubuntu
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu latest ce76de2e871b 8 days ago 188 MB
说明:docker images 命令可带参数,是个字符串,能够带通配,只显示过滤的镜像。app
2、镜像中心ide
本地的镜像是从远程镜像中心(Registry)下载到本地的,默认的镜像中心是docker公司负责运营的docker hub中心。google
在远程镜像中心,镜像是保存在仓库(Repository)中,仓库存在镜像中心(Registry)中。spa
每一个镜像都有一个惟一的ID号。 一个仓库(如上面的ubuntu)中有多个镜像,经过tag标识来区分不一样镜像,一个仓库中的镜像一般是同一种类型的镜像,只是不一样版本的区别。换句话说,镜像时由仓库名和tag标识来共同决定的。code
docker hub中有两种类型的镜像:用户仓库(user repository)和顶层仓库(top-level repository)。用户仓库的镜像是有docker用户建立的。顶层仓库是有docker公司内部管理的。server
用户仓库的命名由用户名和仓库名两部分组成(中间用/分隔);而顶层仓库只有仓库名,如ubuntu仓库。
总结一下,镜像名称的标准格式是: 用户名/仓库名:Tag名,对于顶层的则没有用户名,若是省略tag名,默认为latest.
说明:也能够搭建私服的镜像中心,供企业内部使用。
3、在docker hub中心查找仓库
经过docker search命令能够查找docker hub上全部公共的可用仓库。
能够带一个字符串参数(支持通配),用于查找知足命名的仓库。
举例:docker search mysql
显示的内容如:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relati... 1872 [OK] mysql/mysql-server Optimized MySQL Server Docker images. Crea... 110 [OK] centurylink/mysql Image containing mysql. Optimized to be li... 38 [OK] sameersbn/mysql 31 [OK] google/mysql MySQL server for Google Compute Engine 14 [OK] appcontainers/mysql Centos/Debian/Ubuntu Based Customizable My... 7 [OK] ...................
返回的每条记录表明一个镜像。包含5个字段信息:
1)Name:镜像的仓库名。能够看出顶层仓库只有第一个镜像是。其它的都是用户仓库。
2)Description:仓库的描述信息
3)Stars:用户评价,反映一个仓库受欢迎的程度
4)Offical:是否官方,便是否是顶层仓库。能够看出,只有第一个镜像是顶层仓库。
5)Automated:表示这个镜像是由docker hub自动构建的。
4、下载镜像
经过docker run方法是建立容器,若是指定的镜像在本机不存在,则会先去下载镜像。
能够经过docker pull命令只下载镜像,不建立容器。
命令: docker pull [用户名/]仓库名[:TAG]
含义: 若是只指定仓库名,会下载该仓库下的全部镜像。若是还指定了TAG值,则会下载指定的镜像。
对于dokcer run命令,只指定仓库名,不指定tag时,默认下载的是 latest标识的镜像。
举例:
xxx@ubuntu:~$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu latest ce76de2e871b 8 days ago 188 MB xxx@ubuntu:~$ docker pull mysql Using default tag: latest latest: Pulling from library/mysql 73e8d4f6bf84: Pull complete 040bf8e08425: Pull complete 86e6c3163927: Pull complete 68f4b3625ea4: Pull complete 04f7e78a2c8a: Pull complete 1bade56c3b6b: Pull complete dd6387e14c18: Pull complete ca30c0626c9b: Pull complete 0dc5e226a795: Pull complete 6c164b0f04cb: Pull complete 5c74d058f7b5: Pull complete 0fd3b6e12567: Pull complete e8126a9d061e: Pull complete d17cffff8039: Pull complete 1924f4186d05: Pull complete 14961e5db73a: Pull complete Digest: sha256:16de02081c408c41361126aaa718f91693688d39a216a74ac8dab841db050228 Status: Downloaded newer image for mysql:latest xxx@ubuntu:~$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE mysql latest 14961e5db73a 4 days ago 361.3 MB ubuntu latest ce76de2e871b 8 days ago 188 MB
镜像下载后,就能够经过docker run命令建立相应的容器了。
5、镜像的复制
一个镜像是属于一个仓库,一个仓库中有多个镜像,你们靠tag来区分。
在某些场景下,可能须要把一个已有的镜像 加入(也就是复制)到别的仓库中。这时能够用tag命令。具体的语法格式是:
docker tag [OPTIONS] orignIMAGE[:TAG] [REGISTRYHOST/][USERNAME/]newNAME[:TAG]
这个仍是挺有用的,好比当建立一个镜像,命名不适合(仓库名和TAg标识),这样至关于改个名,但实际是拷贝一份。