设为首页 收藏本站
查看: 803|回复: 0

[经验分享] 制作Docker基础镜像

[复制链接]

尚未签到

发表于 2018-5-29 09:41:10 | 显示全部楼层 |阅读模式
   制作Docker基础镜像------centos6.3 2015-03-22 16:37:28
分类: 云计算




        Docker 运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker 会从镜像仓库下载(默认是 Docker Hub 公共注册服务器中的仓库)。我们可以从Docker Hub下pull已经存在的Docker镜像,也只是自己制作基础的镜像,然后再基础镜像的基础上添加所需要的功能。
1.   获取镜像
可以使用  docker pull  命令来从仓库获取所需要的镜像。
下面的例子将从 Docker Hub 仓库下载一个 Ubuntu 12.04 操作系统的镜像。
$ sudo docker pull ubuntu:12.04
         下面是从Docker-hub上获取centos的镜像
[root@centos docker]# docker pull centos:centos6
centos:centos6: The image you are pulling has been verified
511136ea3c5a: Pull complete
5b12ef8fd570: Pull complete
a30bc9f3097e: Pull complete
Status: Downloaded newer image for centos:centos6
如果在执行镜像后出现下面的不是我们平常看到的Linux的命令提示行,而是bash-4.1#,。那是因为/root目录是空的,没有用户相关的配置文件。解决办法是把/etc/skel/目录下的东西cp到当前用户的家目录下,也就是/root目录下。因为创建用户时,用户的家目录下的文件其实都是从这个目录下copy过去的。
bash-4.1# cp /etc/skel/.b* /root
bash-4.1# su root
[root@94f1b01d78f3 /]#
         这也可以再制作镜像的时候添加,后面会有介绍。
2.  自制镜像
2.1 制作镜像文件
我们看到Docker Hub上有许多的基础镜像,我们也可以自己制作镜像,这里制作的镜像版本问centos6.3版本,需要使用到的工具是:febootstrap,可以使用yum –y install febootstrap 进行安装,使用下面的命令进行制作:
febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim -i openssh-server -i openssh-clients -i tar -i gzip  centos6 centos6.3-imagehttp://vault.centos.org/6.3/os/x86_64/
   centos6:OS版本。
   centos6.3-image:镜像文件保存到当前路径下的centos6.3-image文件夹下。
   http://vault.centos.org/6.3/os/x86_64/ : centos6.3系统镜像路径。
上面的-i选项表明我制作的基础镜像中已经包含的一些包,需要什么包可以在下面的地址中查找到http://vault.centos.org/6.3/os/x86_64/Packages/,由于URL的地址都是在墙外面可能会造成制作过程异常的慢,如果速度太慢的话可能造成制作不成功,
http://vault.centos.org/6.3/os/x86_64/Packages/curl-7.19.7-26.el6_2.4.x86_64.rpm: [Errno 12] Timeout on http://vault.centos.org/6.3/os/x86_64/Packages/curl-7.19.7-26.el6_2.4.x86_64.rpm: (28, 'Operation too slow. Less than 1 bytes/sec transfered the last 30 seconds')
Trying other mirror.
最后的结果可能出现下面的错误:
Error Downloading Packages:
  curl-7.19.7-26.el6_2.4.x86_64: failure: Packages/curl-7.19.7-26.el6_2.4.x86_64.rpm from febootstrap: [Errno 256] No more mirrors to try.

chroot: failed to run command `rm': No such file or directory
chroot: failed to run command `rm': No such file or directory
         如果出现上面的情况,建议使用云计算厂商北美的云主机,然后再把制作好的拷贝过来,或者需要VPN。制作完成后如下;
[root@ centos6.3-image]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  sbin  selinux  srv  sys  tmp  usr  var
         但是在root下面的并没有任何的文件,这样就好出现进入Docker后出现bash4.1的问题,
[root@ root]# ls -al
total 8
dr-xr-x---  2 root root 4096 Sep 23  2011 .
dr-xr-xr-x 21 root root 4096 Feb 27 16:40 ..
         可以使用下面的命令进行拷贝:
root@10-10-62-234 centos6.3-image]# cp /etc/skel/.bash* root/
2.2 导入镜像文件
         使用下面的命令导入镜像文件,并生产镜像的ID。
[root@centos docker]# cd centos6.3-image && tar -c .|docker import - centos6.3-base
e7275ddab321d86f9b75b610007cf8dc78137c83a5721300877d35aeac57bb57
使用docker images就可看到我们导入的镜像
[root@centos centos6.3-image]# docker images
REPOSITORY      TAG    IMAGE ID            CREATED             VIRTUAL SIZE
centos6.3-base   latest        e7275ddab321    53 seconds ago      355.4 MB
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-482429-1-1.html 上篇帖子: nginx+tomcat7 DOCKER镜像的dockerfile 下篇帖子: Docker的卸载、更新(Rad Hat Linux)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表