溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

docker中Dockerfile如何自定義mycentos

發(fā)布時(shí)間:2021-11-15 16:54:42 來(lái)源:億速云 閱讀:161 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家展示了“docker中Dockerfile如何自定義mycentos”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“docker中Dockerfile如何自定義mycentos”這篇文章吧。

Base鏡像(scratch)

    Docker Hub中99%的鏡像是通過(guò)在base鏡像中安裝和配置需要的軟件構(gòu)建出來(lái)的。也就是說(shuō)base鏡像是所有其他鏡像的鼻祖。

hub默認(rèn)centos鏡像是什么情況

[root@t-docker chenzx]# docker run -it centos
[root@ef7873879474 /]# vim a.txt  ##默認(rèn)ceonts不支持vim命令
bash: vim: command not found
[root@ef7873879474 /]# ifconfig   ##默認(rèn)centos不支持ifconfig命令
bash: ifconfig: command not found

自定義鏡像mycentos

    1、編寫Dokcerfile文件

[root@t-docker mycentos]# cat Dockerfile 
FROM centos
MAINTAINER chenzx chenzx@11.com
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "success-----ok"
CMD /bin/bash

     2、構(gòu)建

    語(yǔ)法:docker build -t 新鏡像名字:TAG .

[root@t-docker mycentos]# docker build -f ./Dockerfile -t mycentos:1.3 .
Sending build context to Docker daemon  2.048kB
Step 1/10 : FROM centos
 ---> 5182e96772bf
Step 2/10 : MAINTAINER chenzx chenzx@11.com
 ---> Running in bf692c9a8f30
Removing intermediate container bf692c9a8f30
 ---> be7c6d72dcf6
Step 3/10 : ENV MYPATH /usr/local
 ---> Running in bfbe973063c4
Removing intermediate container bfbe973063c4
 ---> b6117be61d21
Step 4/10 : WORKDIR $MYPATH
 ---> Running in dc207977e37e
Removing intermediate container dc207977e37e
 ---> a299de1b142d
Step 5/10 : RUN yum -y install vim
 ---> Running in 7b18a2ea02ba
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors
 * base: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirror.bit.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package vim-enhanced.x86_64 2:7.4.160-4.el7 will be installed
--> Processing Dependency: vim-common = 2:7.4.160-4.el7 for package: 2:vim-enhanced-7.4.160-4.el7.x86_64
--> Processing Dependency: which for package: 2:vim-enhanced-7.4.160-4.el7.x86_64
--> Processing Dependency: perl(:MODULE_COMPAT_5.16.3) for package: 2:vim-enhanced-7.4.160-4.el7.x86_64
--> Processing Dependency: libperl.so()(64bit) for package: 2:vim-enhanced-7.4.160-4.el7.x86_64
 ---> 41b54eafc062
Step 6/10 : RUN yum -y install net-tools
 ---> Running in 4fe95a3f928d
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirror.bit.edu.cn
Resolving Dependencies
--> Running transaction check
Step 7/10 : EXPOSE 80
 ---> Running in b49331f041a0
Removing intermediate container b49331f041a0
 ---> 255ce503616b
Step 8/10 : CMD echo $MYPATH
 ---> Running in 0c8a45aa210f
Removing intermediate container 0c8a45aa210f
 ---> b70d750b50c6
Step 9/10 : CMD echo "success-----ok"
 ---> Running in 0f82aaeab3af
Removing intermediate container 0f82aaeab3af
 ---> 41680031171e
Step 10/10 : CMD /bin/bash
 ---> Running in 5694bd9a1dab
Removing intermediate container 5694bd9a1dab
 ---> 0c868c56748b
Successfully built 0c868c56748b
Successfully tagged mycentos:1.3
[root@t-docker mycentos]#
[root@t-docker mycentos]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mycentos            1.3                 0c868c56748b        5 minutes ago       442MB

    3、運(yùn)行

[root@t-docker mycentos]# docker run -it mycentos:1.3
[root@28ab180a72d7 local]# pwd  ##落腳點(diǎn)是/usr/local
/usr/local
[root@28ab180a72d7 local]# vim a.txt ##vim命令也有了
[root@28ab180a72d7 local]# ifconfig ##ifconfig命令有了
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@28ab180a72d7 local]#

     4、列出鏡像的變更歷史

    功能:從底下往上看,可以看出制作mycentos鏡像的歷史過(guò)程。

[root@t-docker mycentos]# docker images mycentos
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mycentos            1.3                 0c868c56748b        12 minutes ago      442MB
[root@t-docker mycentos]# docker history 0c868c56748b
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
0c868c56748b        12 minutes ago      /bin/sh -c #(nop)  CMD ["/bin/sh" "-c" "/bin…   0B                  
41680031171e        12 minutes ago      /bin/sh -c #(nop)  CMD ["/bin/sh" "-c" "echo…   0B                  
b70d750b50c6        12 minutes ago      /bin/sh -c #(nop)  CMD ["/bin/sh" "-c" "echo…   0B                  
255ce503616b        12 minutes ago      /bin/sh -c #(nop)  EXPOSE 80                    0B                  
1cb7e8747969        12 minutes ago      /bin/sh -c yum -y install net-tools             93.7MB              
41b54eafc062        12 minutes ago      /bin/sh -c yum -y install vim                   149MB               
a299de1b142d        13 minutes ago      /bin/sh -c #(nop) WORKDIR /usr/local            0B                  
b6117be61d21        13 minutes ago      /bin/sh -c #(nop)  ENV MYPATH=/usr/local        0B                  
be7c6d72dcf6        13 minutes ago      /bin/sh -c #(nop)  MAINTAINER chenzx chenzx@…   0B                  
5182e96772bf        3 weeks ago         /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B                  
<missing>           3 weeks ago         /bin/sh -c #(nop)  LABEL org.label-schema.sc…   0B                  
<missing>           3 weeks ago         /bin/sh -c #(nop) ADD file:6340c690b08865d7e…   200MB

以上是“docker中Dockerfile如何自定義mycentos”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI