制作docker镜像

基础环境说明

创新互联主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、成都响应式网站建设、程序开发、网站优化、微网站、小程序制作等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的网站设计、网站制作、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。

# 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默认的欢迎页面

文章题目:制作docker镜像
文章位置:http://azwzsj.com/article/poeiec.html