27-实战-构建自己的centos

1、编写dockerfile文件,创建自己的centos

      [root@localhost /]# cd home
      [root@localhost home]# ls
      bj         docker-test-volume  fox   girl.zip  huazi  liuhuaqiang  mysql      pc.tar.gz  test  ts  yangmi
      daiqinghe  dqh                 girl  home      jack   milan        oc.tar.gz  ss         tom   wk  zwj
      [root@localhost home]# mkdir dockerfile
      [root@localhost home]# cd dockerfile/
      [root@localhost dockerfile]# vim mydockerfile-centos

编写mydockerfile-centos文件:

      FROM centos
      MAINTAINER dqh<2634897499@qq.com>

      ENV MYPATH /usr/local
      WORKDIR $MYPATH

      RUN yum -y install vim   # 安装vim命令
      RUN yum -y install net-tools  # 安装net-tools命令

      EXPOSE 80   # 暴露80端口

      CMD echo $MYPATH
      CMD echo "---end---"
      CMD /bin/bash

2、通过这个文件,构建镜像

命令: docker build -f dockerfile路径 -t 镜像名:[版本号] .

        [root@localhost dockerfile]# docker build -f mydockerfile-centos -t mycentos:0.1 .
        Sending build context to Docker daemon  2.048kB
        Step 1/10 : FROM centos
         ---> 5d0da3dc9764
        Step 2/10 : MAINTAINER dqh<2634897499@qq.com>
         ---> Running in 40ab42a5a204
        Removing intermediate container 40ab42a5a204
         ---> 4d291067eca1
        Step 3/10 : ENV MYPATH /usr/local
         ---> Running in e647b7328f1a
        Removing intermediate container e647b7328f1a
         ---> 4db803d07f4f
        Step 4/10 : WORKDIR $MYPATH
         ---> Running in 990078f196f3
        Removing intermediate container 990078f196f3
         ---> b48576244d52
        Step 5/10 : RUN yum -y install vim
         ---> Running in 01f3171169b6
        CentOS Linux 8 - AppStream                      1.8 MB/s | 8.4 MB     00:04    
        CentOS Linux 8 - BaseOS                         1.4 MB/s | 4.6 MB     00:03    
        CentOS Linux 8 - Extras                         6.2 kB/s |  10 kB     00:01    
        Dependencies resolved.
        ================================================================================
         Package             Arch        Version                   Repository      Size
        ================================================================================
        Installing:
         vim-enhanced        x86_64      2:8.0.1763-16.el8         appstream      1.4 M
        Installing dependencies:
         gpm-libs            x86_64      1.20.7-17.el8             appstream       39 k
         vim-common          x86_64      2:8.0.1763-16.el8         appstream      6.3 M
         vim-filesystem      noarch      2:8.0.1763-16.el8         appstream       49 k
         which               x86_64      2.21-16.el8               baseos          49 k

        Transaction Summary
        ================================================================================
        Install  5 Packages

        Total download size: 7.8 M
        Installed size: 30 M
        Downloading Packages:
        (1/5): gpm-libs-1.20.7-17.el8.x86_64.rpm         55 kB/s |  39 kB     00:00    
        (2/5): vim-filesystem-8.0.1763-16.el8.noarch.rp 299 kB/s |  49 kB     00:00    
        (3/5): vim-enhanced-8.0.1763-16.el8.x86_64.rpm  540 kB/s | 1.4 MB     00:02    
        (4/5): vim-common-8.0.1763-16.el8.x86_64.rpm    1.4 MB/s | 6.3 MB     00:04    
        (5/5): which-2.21-16.el8.x86_64.rpm              12 kB/s |  49 kB     00:04    
        --------------------------------------------------------------------------------
        Total                                           1.2 MB/s | 7.8 MB     00:06     
        warning: /var/cache/dnf/appstream-02e86d1c976ab532/packages/gpm-libs-1.20.7-17.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
        CentOS Linux 8 - AppStream                      1.6 MB/s | 1.6 kB     00:00    
        Importing GPG key 0x8483C65D:
         Userid     : "CentOS (CentOS Official Signing Key) <security@centos.org>"
         Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
         From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
        Key imported successfully
        Running transaction check
        Transaction check succeeded.
        Running transaction test
        Transaction test succeeded.
        Running transaction
          Preparing        :                                                        1/1 
          Installing       : which-2.21-16.el8.x86_64                               1/5 
          Installing       : vim-filesystem-2:8.0.1763-16.el8.noarch                2/5 
          Installing       : vim-common-2:8.0.1763-16.el8.x86_64                    3/5 
          Installing       : gpm-libs-1.20.7-17.el8.x86_64                          4/5 
          Running scriptlet: gpm-libs-1.20.7-17.el8.x86_64                          4/5 
          Installing       : vim-enhanced-2:8.0.1763-16.el8.x86_64                  5/5 
          Running scriptlet: vim-enhanced-2:8.0.1763-16.el8.x86_64                  5/5 
          Running scriptlet: vim-common-2:8.0.1763-16.el8.x86_64                    5/5 
          Verifying        : gpm-libs-1.20.7-17.el8.x86_64                          1/5 
          Verifying        : vim-common-2:8.0.1763-16.el8.x86_64                    2/5 
          Verifying        : vim-enhanced-2:8.0.1763-16.el8.x86_64                  3/5 
          Verifying        : vim-filesystem-2:8.0.1763-16.el8.noarch                4/5 
          Verifying        : which-2.21-16.el8.x86_64                               5/5 

        Installed:
          gpm-libs-1.20.7-17.el8.x86_64         vim-common-2:8.0.1763-16.el8.x86_64    
          vim-enhanced-2:8.0.1763-16.el8.x86_64 vim-filesystem-2:8.0.1763-16.el8.noarch
          which-2.21-16.el8.x86_64             

        Complete!
        Removing intermediate container 01f3171169b6
         ---> 499ff2dac21a
        Step 6/10 : RUN yum -y install net-tools
         ---> Running in 5cc084f30920
        Last metadata expiration check: 0:00:13 ago on Thu Jan 13 13:46:30 2022.
        Dependencies resolved.
        ================================================================================
         Package         Architecture Version                        Repository    Size
        ================================================================================
        Installing:
         net-tools       x86_64       2.0-0.52.20160912git.el8       baseos       322 k

        Transaction Summary
        ================================================================================
        Install  1 Package

        Total download size: 322 k
        Installed size: 942 k
        Downloading Packages:
        net-tools-2.0-0.52.20160912git.el8.x86_64.rpm   616 kB/s | 322 kB     00:00    
        --------------------------------------------------------------------------------
        Total                                           242 kB/s | 322 kB     00:01     
        Running transaction check
        Transaction check succeeded.
        Running transaction test
        Transaction test succeeded.
        Running transaction
          Preparing        :                                                        1/1 
          Installing       : net-tools-2.0-0.52.20160912git.el8.x86_64              1/1 
          Running scriptlet: net-tools-2.0-0.52.20160912git.el8.x86_64              1/1 
          Verifying        : net-tools-2.0-0.52.20160912git.el8.x86_64              1/1 

        Installed:
          net-tools-2.0-0.52.20160912git.el8.x86_64                                     

        Complete!
        Removing intermediate container 5cc084f30920
         ---> 43bb774261da
        Step 7/10 : EXPOSE 80
         ---> Running in 4b7ff1b107d4
        Removing intermediate container 4b7ff1b107d4
         ---> 1b86c8105256
        Step 8/10 : CMD echo $MYPATH
         ---> Running in 5e6ed97cf2fa
        Removing intermediate container 5e6ed97cf2fa
         ---> ab0898794eed
        Step 9/10 : CMD echo "---end---"
         ---> Running in d042d1f838c5
        Removing intermediate container d042d1f838c5
         ---> 7734ee3e9c45
        Step 10/10 : CMD /bin/bash
         ---> Running in 70b3c8649dc1
        Removing intermediate container 70b3c8649dc1
         ---> 7fd0813c73b7
        Successfully built 7fd0813c73b7
        Successfully tagged mycentos:0.1

3、运行我们自己的镜像

可以看到,一进去查看目录就是/usr/local,因为我们dockerfile里面配置了工作目录
可以使用ifconfig命令
可以使用vim命令

4、命令

docker history 镜像id可以显示镜像的变更历史

      [root@localhost dockerfile]# docker history 7fd0813c73b7
      IMAGE          CREATED         CREATED BY                                      SIZE      COMMENT
      7fd0813c73b7   6 minutes ago   /bin/sh -c #(nop)  CMD ["/bin/sh" "-c" "/bin…   0B        
      7734ee3e9c45   6 minutes ago   /bin/sh -c #(nop)  CMD ["/bin/sh" "-c" "echo…   0B        
      ab0898794eed   6 minutes ago   /bin/sh -c #(nop)  CMD ["/bin/sh" "-c" "echo…   0B        
      1b86c8105256   6 minutes ago   /bin/sh -c #(nop)  EXPOSE 80                    0B        
      43bb774261da   6 minutes ago   /bin/sh -c yum -y install net-tools             28.4MB    
      499ff2dac21a   6 minutes ago   /bin/sh -c yum -y install vim                   66.3MB    
      b48576244d52   7 minutes ago   /bin/sh -c #(nop) WORKDIR /usr/local            0B        
      4db803d07f4f   7 minutes ago   /bin/sh -c #(nop)  ENV MYPATH=/usr/local        0B        
      4d291067eca1   7 minutes ago   /bin/sh -c #(nop)  MAINTAINER dqh<2634897499…   0B        
      5d0da3dc9764   3 months ago    /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B        
      <missing>      3 months ago    /bin/sh -c #(nop)  LABEL org.label-schema.sc…   0B        
      <missing>      3 months ago    /bin/sh -c #(nop) ADD file:805cb5e15fb6e0bb0…   231MB 
posted @ 2022-01-13 21:56  不是孩子了  阅读(172)  评论(0)    收藏  举报