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

[经验分享] 制作 docker 镜像

[复制链接]

尚未签到

发表于 2019-2-20 10:13:50 | 显示全部楼层 |阅读模式
  基础环境说明

# cat /etc/redhat-release
CentOS release 6.8 (Final)
  设置 docker 镜像源#
  # yum install -y yum-priorities && rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
  安装 docker-io 和 febootstrap,用来制作centos镜像,生成centos的镜像#

# yum install docker-io -y #安装docker
# service docker start #启动docker
# yum install febootstrap #制作镜像工具
  制作CentOS镜像文件 centos6-image 目录#
  # 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-image http://mirrors.aliyun.com/centos/6/os/x86_64/
  -i : 安装的软件包
  centos6 : 系统版本
  centos6-image : 生成的目录名称
  也可以制作CentOS7的镜像 将地址更换为CentOS7的地址,例如
  # febootstrap -i bash -i net-tools -i wget -i yum -i iputils -i iproute -i man -i vim -i openssh-server -i openssh-clients -i tar -i gzip centos7 centos7-image https://mirrors.aliyun.com/centos/7/os/x86_64/
  设置ssh 进入镜像的时候直接进入root 目录(如果不做这一步则直接进入到 / 目录)
  # cd centos6-image && cp etc/skel/.bash* root/
  生成基础镜像 base#
  # cd centos6-image && tar -c . |docker import - centos6-base
  查看镜像
  # docker images
  根据基础镜像制作 http 的docker 镜像#

# cat Dockerfile
FROM centos6-base # 表示以此镜像为基础镜像进行制作
MAINTAINER bamboo # 表示镜像制作者的信息
RUN yum install -y yum-priorities && rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/e/epel-release-6-8.noarch.rpm && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
RUN yum install tar gzip vim wget httpd httpd-* -y
RUN sed -i 's/#ServerName www.example.com:80/ServerName www.example.com:80/' /etc/httpd/conf/httpd.conf
EXPOSE 80 # 表示开启的端口号
CMD ["/usr/sbin/httpd","-D","FOREGROUND"] #表示在启动镜像的时候执行的命令 一个Dockerfile只能写一个CMD命令,多个CMD执行最后的那一条
#ENTRYPOINT ["/usr/sbin/httpd","-D","FOREGROUND"] # 和CMD 用法一样
  build 镜像#

# cd centos6-image && docker build -t centos6-httpd /root/bamboo
-t 后面跟的是即将生成镜像的名字也就是上面的 centos6-httpd
最后跟的是 Dockerfile的目录,是目录
  查看和测试#

# docker images # 查看新生成的镜像centos6-httpd
# docker -d --name http -p 800:80 centos6-http
# docker ps -a # 可以查看到运行的镜像 以及端口映射情况
# 访问 curl http://ip:800 可以看到http默认的欢迎页面



运维网声明 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-674750-1-1.html 上篇帖子: 基于flask的简单web服务器 docker化 下篇帖子: docker stats监控容器资源消耗
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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