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標識),這樣至關於改個名,但實際是拷貝一份。