真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Docker鏡像的使用方法

這篇文章將為大家詳細(xì)講解有關(guān)Docker鏡像的使用方法,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

成都創(chuàng)新互聯(lián)公司服務(wù)項目包括中方網(wǎng)站建設(shè)、中方網(wǎng)站制作、中方網(wǎng)頁制作以及中方網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,中方網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到中方省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

當(dāng)運(yùn)行容器時,使用的鏡像如果在本地中不存在,docker 就會自動從 docker 鏡像倉庫中下載,默認(rèn)是從 Docker Hub 公共鏡像源下載。
下面我們來學(xué)習(xí):
1、管理和使用本地 Docker 主機(jī)鏡像
2、創(chuàng)建鏡像


列出鏡像列表
我們可以使用 docker images 來列出本地主機(jī)上的鏡像。
[root@huixuan ~]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
docker.io/hello-world       latest              e38bc07ac18e        2 weeks ago         1.85 kB
docker.io/ubuntu            15.10               9b9cb95443b5        21 months ago       137 MB
docker.io/training/webapp   latest              6fae60ef3446        2 years ago         349 MB
[root@huixuan ~]# 


各個選項說明:
REPOSITORY:表示鏡像的倉庫源
TAG:鏡像的標(biāo)簽
IMAGE ID:鏡像ID
CREATED:鏡像創(chuàng)建時間
SIZE:鏡像大小
同一倉庫源可以有多個 TAG,代表這個倉庫源的不同個版本,如ubuntu倉庫源里,有15.10、14.04等多個不同的版本,我們使用 REPOSITORY:TAG 來定義不同的鏡像。
所以,我們?nèi)绻褂冒姹緸?5.10的ubuntu系統(tǒng)鏡像來運(yùn)行容器時,命令如下:
[root@huixuan ~]# docker run -t -i ubuntu:15.10 /bin/bash 
root@38a4ad967a4a:/# 


如果要使用版本為14.04的ubuntu系統(tǒng)鏡像來運(yùn)行容器時,命令如下:
[root@huixuan ~]# docker run -t -i ubuntu:14.04 /bin/bash 


如果你不指定一個鏡像的版本標(biāo)簽,例如你只使用 ubuntu,docker 將默認(rèn)使用 ubuntu:latest 鏡像。


獲取一個新的鏡像
當(dāng)我們在本地主機(jī)上使用一個不存在的鏡像時 Docker 就會自動下載這個鏡像。如果我們想預(yù)先下載這個鏡像,我們可以使用 docker pull 命令來下載它。
[root@huixuan ~]# docker pull ubuntu:13.10


下載完成后,我們可以直接使用這個鏡像來運(yùn)行容器。


查找鏡像
我們可以從 Docker Hub 網(wǎng)站來搜索鏡像,Docker Hub 網(wǎng)址為: https://hub.docker.com/
我們也可以使用 docker search 命令來搜索鏡像。比如我們需要一個httpd的鏡像來作為我們的web服務(wù)。我們可以通過 docker search 命令搜索 httpd 來尋找適合我們的鏡像。


[root@huixuan ~]# docker search httpd
INDEX       NAME                                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/httpd                                   The Apache HTTP Server Project                  1668      [OK]       
docker.io   docker.io/hypriot/rpi-busybox-httpd               Raspberry Pi compatible Docker Image with ...   40                   
docker.io   docker.io/centos/httpd                                                                            17                   [OK]
docker.io   docker.io/centos/httpd-24-centos7                 Platform for running Apache httpd 2.4 or b...   12                   
docker.io   docker.io/armhf/httpd                             The Apache HTTP Server Project                  8                    
docker.io   docker.io/macadmins/netboot-httpd                 use in combination with bruienne/bsdpy          5                    [OK]
docker.io   docker.io/lolhens/httpd                           Apache httpd 2 Server                           2                    [OK]
docker.io   docker.io/salim1983hoop/httpd24                   Dockerfile running apache config                2                    [OK]
docker.io   docker.io/epflidevelop/os-wp-httpd                WP httpd                                        1                    [OK]
docker.io   docker.io/fboaventura/dckr-httpd                  Small footprint http server to use with ot...   1                    [OK]
docker.io   docker.io/lead4good/httpd-fpm                     httpd server which connects via fcgi proxy...   1                    [OK]
docker.io   docker.io/rgielen/httpd-image-simple              Docker image for simple Apache httpd based...   1                    [OK]
docker.io   docker.io/tplatform/aws-linux-httpd24-php71-fpm   aws-linux-httpd24-php71-fpm                     1                    [OK]
docker.io   docker.io/buzzardev/httpd                         Based on the official httpd image               0                    [OK]
docker.io   docker.io/cilium/demo-httpd                                                                       0                    
docker.io   docker.io/dockerpinata/httpd                                                                      0                    
docker.io   docker.io/fintaffy/fintaffy-httpd                                                                 0                    
docker.io   docker.io/interlutions/httpd                      httpd docker image with debian-based confi...   0                    [OK]
docker.io   docker.io/manageiq/httpd                          Container with httpd, built on CentOS for ...   0                    [OK]
docker.io   docker.io/manasip/httpd                                                                           0                    
docker.io   docker.io/ppc64le/httpd                           The Apache HTTP Server Project                  0                    
docker.io   docker.io/publici/httpd                           httpd:latest                                    0                    [OK]
docker.io   docker.io/tplatform/aws-linux-httpd24-php70       aws-linux-httpd24-php70                         0                    [OK]
docker.io   docker.io/tplatform/aws-linux-httpd24-php71       aws-linux-httpd24-php71                         0                    [OK]
docker.io   docker.io/trollin/httpd                                                                           0                    
[root@huixuan ~]# 


NAME:鏡像倉庫源的名稱
DESCRIPTION:鏡像的描述
OFFICIAL:是否docker官方發(fā)布


拖取鏡像
我們決定使用上圖中的httpd 官方版本的鏡像,使用命令 docker pull 來下載鏡像。
[root@huixuan ~]# docker pull httpd


下載完成后,我們就可以使用這個鏡像了。
[root@huixuan ~]# docker run httpd


創(chuàng)建鏡像
當(dāng)我們從docker鏡像倉庫中下載的鏡像不能滿足我們的需求時,我們可以通過以下兩種方式對鏡像進(jìn)行更改。
1.從已經(jīng)創(chuàng)建的容器中更新鏡像,并且提交這個鏡像
2.使用 Dockerfile 指令來創(chuàng)建一個新的鏡像


更新鏡像
更新鏡像之前,我們需要使用鏡像來創(chuàng)建一個容器。
[root@huixuan ~]# docker run -t -i ubuntu:15.10 /bin/bash
root@493da1af5d63:/# 


在運(yùn)行的容器內(nèi)使用 apt-get update 命令進(jìn)行更新。
在完成操作之后,輸入 exit命令來退出這個容器。
此時ID為493da1af5d63的容器,是按我們的需求更改的容器。我們可以通過命令 docker commit來提交容器副本。
[root@huixuan ~]# docker commit -m="has update" -a="tonykorn97" 493da1af5d63 tonykorn97/ubuntu:v2
sha256:6bb0f7a6d1e68fa93197761f3fa86a18397b1dfff563a0405e48cc833d0b3112


各個參數(shù)說明:
-m:提交的描述信息
-a:指定鏡像作者
493da1af5d63:容器ID
tonykorn97/ubuntu:v2:指定要創(chuàng)建的目標(biāo)鏡像名
我們可以使用 docker images 命令來查看我們的新鏡像 tonykorn97/ubuntu:v2:


[root@huixuan ~]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED              SIZE
tonykorn97/ubuntu           v2                  6bb0f7a6d1e6        2 seconds ago        137 MB
                                   3248dea71f18        About a minute ago   137 MB
docker.io/ubuntu            14.04               8cef1fa16c77        3 days ago           223 MB
docker.io/hello-world       latest              e38bc07ac18e        2 weeks ago          1.85 kB
docker.io/ubuntu            15.10               9b9cb95443b5        21 months ago        137 MB
docker.io/training/webapp   latest              6fae60ef3446        2 years ago          349 MB
[root@huixuan ~]# 



使用我們的新鏡像 tonykorn97/ubuntu 來啟動一個容器
[root@huixuan ~]# docker run -t -i tonykorn97/ubuntu:v2 /bin/bash
root@694ecac26845:/# 


構(gòu)建鏡像
我們使用命令 docker build , 從零開始來創(chuàng)建一個新的鏡像。為此,我們需要創(chuàng)建一個 Dockerfile 文件,其中包含一組指令來告訴 Docker 如何構(gòu)建我們的鏡像。
[root@huixuan ~]# cat Dockerfile 
FROM    centos
MAINTAINER      Fisher "tonykorn97@sudops.com"


RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd tonykorn97
RUN     /bin/echo 'tonykorn97:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D
[root@huixuan ~]# 


每一個指令都會在鏡像上創(chuàng)建一個新的層,每一個指令的前綴都必須是大寫的。
第一條FROM,指定使用哪個鏡像源
RUN 指令告訴docker 在鏡像內(nèi)執(zhí)行命令,安裝了什么。。。
然后,我們使用 Dockerfile 文件,通過 docker build 命令來構(gòu)建一個鏡像。


[root@huixuan ~]# docker build -t docker.io/centos .
Sending build context to Docker daemon  42.5 kB
Step 1/9 : FROM centos
 ---> e934aafc2206
Step 2/9 : MAINTAINER Fisher "tonykorn97@sudops.com"
 ---> Running in e8fba274a04f
 ---> a957802c0f10
Removing intermediate container e8fba274a04f
Step 3/9 : RUN /bin/echo 'root:123456' |chpasswd
 ---> Running in 9b6d82512651


 ---> 91895d25b7ca
Removing intermediate container 9b6d82512651
Step 4/9 : RUN useradd tonykorn97
 ---> Running in ca2a783aa01f


 ---> da8e8eb44cb9
Removing intermediate container ca2a783aa01f
Step 5/9 : RUN /bin/echo 'tonykorn97:123456' |chpasswd
 ---> Running in bcfd276a69cc


 ---> e9bef27837e4
Removing intermediate container bcfd276a69cc
Step 6/9 : RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
 ---> Running in fb07b34deefd

 ---> b34b2ad1c65b
Removing intermediate container fb07b34deefd
Step 7/9 : EXPOSE 22
 ---> Running in a580e3c0df37
 ---> ae38f15b66c3
Removing intermediate container a580e3c0df37
Step 8/9 : EXPOSE 80
 ---> Running in b3e04bf32806
 ---> 8964d002a4a9
Removing intermediate container b3e04bf32806
Step 9/9 : CMD /usr/sbin/sshd -D
 ---> Running in 804574e55fdc
 ---> 3a42651974ec
Removing intermediate container 804574e55fdc
Successfully built 3a42651974ec
[root@huixuan ~]# 

參數(shù)說明:
-t :指定要創(chuàng)建的目標(biāo)鏡像名
. :Dockerfile 文件所在目錄,可以指定Dockerfile 的絕對路徑
使用docker images 查看創(chuàng)建的鏡像已經(jīng)在列表中存在,鏡像ID為3a42651974ec
[root@huixuan ~]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
docker.io/centos            latest              3a42651974ec        42 seconds ago      199 MB
tonykorn97/ubuntu           v2                  6bb0f7a6d1e6        27 minutes ago      137 MB
                                   3248dea71f18        29 minutes ago      137 MB
docker.io/ubuntu            14.04               8cef1fa16c77        3 days ago          223 MB
docker.io/hello-world       latest              e38bc07ac18e        2 weeks ago         1.85 kB
docker.io/centos                          e934aafc2206        3 weeks ago         199 MB
docker.io/ubuntu            15.10               9b9cb95443b5        21 months ago       137 MB
docker.io/training/webapp   latest              6fae60ef3446        2 years ago         349 MB
[root@huixuan ~]# 

我們可以使用新的鏡像來創(chuàng)建容器
[root@huixuan ~]# docker run -t -i centos /bin/bash
[root@6263f2eb5f6c /]# id tonykorn97
uid=1000(tonykorn97) gid=1000(tonykorn97) groups=1000(tonykorn97)
[root@6263f2eb5f6c /]# 

從上面看到新鏡像已經(jīng)包含我們創(chuàng)建的用戶tonykorn97

設(shè)置鏡像標(biāo)簽
我們可以使用 docker tag 命令,為鏡像添加一個新的標(biāo)簽。
[root@huixuan ~]# docker tag 3a42651974ec tonykorn97/centos:dev


docker tag 鏡像ID,這里是 3a42651974ec ,用戶名稱、鏡像源名(repository name)和新的標(biāo)簽名(tag)。
使用 docker images 命令可以看到,ID為860c279d2fec的鏡像多一個標(biāo)簽。


[root@huixuan ~]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
docker.io/centos            latest              3a42651974ec        3 minutes ago       199 MB
tonykorn97/centos           dev                 3a42651974ec        3 minutes ago       199 MB
tonykorn97/ubuntu           v2                  6bb0f7a6d1e6        30 minutes ago      137 MB
                                   3248dea71f18        32 minutes ago      137 MB
docker.io/ubuntu            14.04               8cef1fa16c77        3 days ago          223 MB
docker.io/hello-world       latest              e38bc07ac18e        2 weeks ago         1.85 kB
docker.io/centos                          e934aafc2206        3 weeks ago         199 MB
docker.io/ubuntu            15.10               9b9cb95443b5        21 months ago       137 MB
docker.io/training/webapp   latest              6fae60ef3446        2 years ago         349 MB
[root@huixuan ~]# 

關(guān)于Docker鏡像的使用方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


文章名稱:Docker鏡像的使用方法
文章位置:http://weahome.cn/article/pijscp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部