在Centos7系统上制作一个7系的Docker镜像


上一次手动制作Docker镜像教程是在Centos6.5系统上实现的,利用febootstrap工具制作;

地址: https://www.58jb.com/html/66.html   

但是在Centos7系统上无法使用Yum来安装febootstrap工具,如果确实要安装也可以,只需要在Centos6系统上把相关的rpm包复制到Centos7系统中;

这里不再作介绍了,这里直接配置一个YUM源来实现安装;

 

1、由于方便我直接使用公司内部的一个Yum源地址;很简单只是把Centos7的光盘放到Web上面;

 

  1. [root@docker yum.repos.d]# curl -O  http://192.168.18.53/repo7/centos7.repo    
  2.   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current    
  3.                                  Dload  Upload   Total   Spent    Left  Speed    
  4. 100   137  100   137    0     0  39515      0 --:--:-- --:--:-- --:--:-- 45666    
  5. [root@docker yum.repos.d]# cat centos7.repo     
  6. [c6-media]    
  7. name=CentOS-local    
  8. baseurl=http://192.168.18.53/repo7    
  9. gpgcheck=0    
  10. enabled=1    
  11. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7    
  12. [root@docker yum.repos.d]# ll     
  13. total 8    
  14. -rw-r--r-- 1 root root  137 Mar 14 23:29 centos7.repo    
  15. -rw-r--r-- 1 root root 2433 Mar 14 23:26 yum.tar.g    

2、在当前shell窗口中定义两个变量;并创建对应的目录:

  1. export centos_root=/centos7-docker 
  2. export rpm_repo=http://192.168.18.53/repo7/ 
  3.  
  4. #创建目录: 
  5. mkdir /centos7-docker 

3、把yum安装到上面创建的目录下,把自动把依赖包都安装;

  1. yum -y --installroot=${centos_root} install yum 

查看一下此时的目录变化:

 

4、复制一个shell环境配置,不然登陆系统后shell前面就显示为:bash-4.2#

  1. 未复制环境配置前:切到目录后的情况; 
  2. [root@docker ~]# chroot ${centos_root} /bin/bash 
  3. bash-4.2# exit 
  4.  
  5. 我喜欢复制一下: 
  6. cp /etc/skel/.bash* /centos7-docker/root/ 
  7. [root@docker ~]# chroot ${centos_root} /bin/bash 
  8. [root@docker /]# exit 

5、退出上面切入的shell环境,打包目录为镜像:

  1. [root@docker ~]# tar -C ${centos_root} -c . | docker import - centos7 
  2. sha256:8560c16b659516caa3ab3d3c9a9d47772ca103b85d06dc7eaa0a57578206de63 
  3. [root@docker ~]# docker images 
  4. REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE 
  5. centos7             latest              8560c16b6595        10 minutes ago      281.5 MB 
  6. centos7.2           latest              d9e558e83077        44 hours ago        313.8 MB 

6、可以看到上面的centos7就是我们刚制作的Centos7的一个基础镜像;

 
如果需要这些命令就要添加一个相关的包到基础镜像;
 
 
只需要在创建镜像时的安装命令中添加包名即:
 
  1. yum -y --installroot=${centos_root} install yum iputils iproute procps-ng 

 但是这些镜像都太大了,我们下次来个优化,把镜象做小。