【docker】linux镜像制作

1.镜像编排文件准备

mkdir /data/centos7 
cd /data/centos7

cat > centos7.yml << EOF 
EOF

*/


/var/cache/yum/ --下载的包的缓存在这里,需要清除。
CMD ["/usr/sbin/init"]  --要执行下这个才能启动容器。初始化启动。


cat > docker-build-centos7.sh << EOF
EOF

chmod u+x docker-build-centos7.sh

上传文件镜像仓库文件:Centos-7.repo 
http://mirrors.aliyun.com/repo/Centos-7.repo  

2.配置镜像。

[root@es1 centos7]# ll
total 12
-rw-r--r-- 1 root root 2523 Jul  5 11:27 Centos-7.repo
-rw-r--r-- 1 root root  811 Jul  5 11:20 centos7.yml
-rwxr--r-- 1 root root   61 Jul  5 11:22 docker-build-centos7.sh
[root@es1 centos7]# 
[root@es1 centos7]# 
[root@es1 centos7]# 
[root@es1 centos7]# sh docker-build-centos7.sh 
Sending build context to Docker daemon  6.656kB
Step 1/9 : FROM 192.168.1.11:443/myharbor/centos:7.9.2009
 ---> eeb6ee3f44bd
Step 2/9 : MAINTAINER xueshuangqi
 ---> Using cache
 ---> b2d7b928ca92
Step 3/9 : RUN rm -rf /etc/yum.repos.d/**/
 ---> Using cache
 ---> 08da9859a832
Step 4/9 : ADD Centos-7.repo /etc/yum.repos.d/
 ---> 512a2c7d2ef2
Step 5/9 : RUN yum install -y gcc gcc-c++ vim tree lrzsz make pcre pcre-devel gd-devel iproute net-tools telnet wget unzip libxml2 libxml2-devel openssl openssl-devel zlib zlib-devel curl curl-devel libjpeg-devel libpng-devel libicu-devel sqlite-devel freetype-devel openldap-devel openldap autoconf automake libtool libcurl-devel libmcrypt-devel libzip openssh-clients libzip-devel bzip2-devel.x86_64 libxslt-devel && yum clean all && rm -rf /var/cache/yum/*
 ---> Running in d40fb3a3447f */
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
.................(省略安装过程)............................
Updated:
  curl.x86_64 0:7.29.0-59.el7_9.2         libxml2.x86_64 0:2.9.1-6.el7_9.6      
  openldap.x86_64 0:2.4.44-25.el7_9       zlib.x86_64 0:1.2.7-21.el7_9          

Dependency Updated:
  cyrus-sasl-lib.x86_64 0:2.1.26-24.el7_9                                       
  expat.x86_64 0:2.1.0-15.el7_9                                                 
  glibc.x86_64 0:2.17-326.el7_9.3                                               
  glibc-common.x86_64 0:2.17-326.el7_9.3                                        
  krb5-libs.x86_64 0:1.15.1-55.el7_9                                            
  libblkid.x86_64 0:2.23.2-65.el7_9.1                                           
  libcurl.x86_64 0:7.29.0-59.el7_9.2                                            
  libmount.x86_64 0:2.23.2-65.el7_9.1                                           
  libsmartcols.x86_64 0:2.23.2-65.el7_9.1                                       
  libuuid.x86_64 0:2.23.2-65.el7_9.1                                            
  libxml2-python.x86_64 0:2.9.1-6.el7_9.6                                       
  openssl-libs.x86_64 1:1.0.2k-26.el7_9                                         
  util-linux.x86_64 0:2.23.2-65.el7_9.1                                         
  xz.x86_64 0:5.2.2-2.el7_9                                                     
  xz-libs.x86_64 0:5.2.2-2.el7_9                                                

Complete!
Loaded plugins: fastestmirror, ovl
Cleaning repos: base extras updates
Cleaning up list of fastest mirrors
Removing intermediate container d40fb3a3447f
 ---> 17746327a6c4
Step 6/9 : RUN groupadd -g 50001 www && useradd www -u 50001 -g www && groupadd -g 50002 nginx && useradd nginx -u 50002 -g nginx
 ---> Running in e3130913ddc7
Removing intermediate container e3130913ddc7
 ---> 71b58e9a1858
Step 7/9 : RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 ---> Running in 9c0c55a1b4c9
Removing intermediate container 9c0c55a1b4c9
 ---> ad743cd8b00e
Step 8/9 : VOLUME [ "/data" ]
 ---> Running in 1775b9f51b58
Removing intermediate container 1775b9f51b58
 ---> cbdb4c84fd0b
Step 9/9 : CMD ["/usr/sbin/init"]
 ---> Running in 3651d7dc6bc6
Removing intermediate container 3651d7dc6bc6
 ---> 77596ed99450
Successfully built 77596ed99450
Successfully tagged centos:7.9

3.使用镜像 


[root@es1 centos7]# docker images
REPOSITORY                                TAG           IMAGE ID       CREATED              SIZE
centos                                    7.9           77596ed99450   About a minute ago   490MB

--创建一个容器,使用刚配置的镜像。
docker run -itd --name centos7 -h centos7 centos:7.9

[root@es1 centos7]# docker run -itd --name centos7 -h centos7 centos:7.9
ad70881408cc8d21e45ab146608caa8123073698108cda25ce39a5abe3472222
[root@es1 centos7]# docker ps
CONTAINER ID   IMAGE        COMMAND            CREATED         STATUS         PORTS     NAMES
ad70881408cc   centos:7.9   "/usr/sbin/init"   2 minutes ago   Up 2 minutes             centos7
[root@es1 centos7]# docker exec -it ad70881408cc ls
anaconda-post.log  data  etc   lib    media  opt   root  sbin  sys  usr
bin		   dev	 home  lib64  mnt    proc  run	 srv   tmp  var

4.给镜像文件打标签并推送到远程镜像库。

docker tag centos:7.9 192.168.1.11:443/myharbor/centos:7.9
docker push 192.168.1.11:443/myharbor/centos:7.9  --推送到镜像仓库。
[root@es1 merged]# docker push 192.168.1.11:443/myharbor/centos:7.9
The push refers to repository [192.168.1.11:443/myharbor/centos]
53c61a520c85: Pushed 
88765da43086: Pushed 
2ca40431ab7d: Pushed 
caceb42f09c2: Pushed 
5b1d42135d46: Pushed 
174f56854903: Layer already exists 
7.9: digest: sha256:4b7008aaa03742554280e4c9387b3c9a6ea4a8c6ca542878f50d1712722f54f0 size: 1572

5.容器内部文件查看 
[root@es1 data]# docker exec -it ad70881408cc ls -lsa
total 12
 0 drwxr-xr-x   1 root root    18 Jul  5 11:41 .
 0 drwxr-xr-x   1 root root    18 Jul  5 11:41 ..
 0 -rwxr-xr-x   1 root root     0 Jul  5 11:41 .dockerenv
12 -rw-r--r--   1 root root 12114 Nov 13  2020 anaconda-post.log
 0 lrwxrwxrwx   1 root root     7 Nov 13  2020 bin -> usr/bin
 0 drwxr-xr-x   2 root root     6 Jul  5 11:41 data
 0 drwxr-xr-x   5 root root   360 Jul  5 11:41 dev
 0 drwxr-xr-x   1 root root    66 Jul  5 11:41 etc
 0 drwxr-xr-x   1 root root    30 Jul  5 11:37 home
 0 lrwxrwxrwx   1 root root     7 Nov 13  2020 lib -> usr/lib
 0 lrwxrwxrwx   1 root root     9 Nov 13  2020 lib64 -> usr/lib64
 0 drwxr-xr-x   2 root root     6 Apr 11  2018 media
 0 drwxr-xr-x   2 root root     6 Apr 11  2018 mnt
 0 drwxr-xr-x   2 root root     6 Apr 11  2018 opt
 0 dr-xr-xr-x 265 root root     0 Jul  5 11:41 proc
 0 dr-xr-x---   2 root root   114 Nov 13  2020 root
 0 drwxr-xr-x   1 root root    48 Jul  5 11:37 run
 0 lrwxrwxrwx   1 root root     8 Nov 13  2020 sbin -> usr/sbin
 0 drwxr-xr-x   2 root root     6 Apr 11  2018 srv
 0 dr-xr-xr-x  13 root root     0 Jul  2 16:16 sys
 0 drwxrwxrwt   1 root root     6 Jul  5 11:37 tmp
 0 drwxr-xr-x   1 root root    96 Nov 13  2020 usr
 0 drwxr-xr-x   1 root root    30 Nov 13  2020 var

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值