作者:李晓辉

联系方式:[email protected]

QQ:939958092

一、建立Dockerfile

1、准备文件

新建一个目录和一个 Dockerfile

mkdir /steven

touch /steven/Dockerfile

构建Docker镜像(三)_第1张图片

2、更新Dockerfile

这个步骤是在设计镜像,如果你需要在镜像内包含什么软件,将来开放哪些端口,里面包含什么文件,都要写进去

我这里使用的基本镜像是centos7,我要在将来生成的镜像内包含httpd和vim两个软件,并且要对外开放80端口,并且容器生成时要自动启动网站

# This is a Dockerfile created by xiaohui

FROM centos:7

MAINTAINER Xiaohui Li

# Install the httpd and vim program to image

RUN yum install httpd vim -y

RUN echo "/usr/sbin/httpd" >> /etc/bashrc

EXPOSE 80

ADD index.html /var/www/html

CMD ["systemctl enable httpd"]

构建Docker镜像(三)_第2张图片

二、开始Build Docker镜像

1、准备文件

因为我们需要打包一个index.html,这里我们先建立出来,构建镜像时会自动上传

image

2、构建镜像

 

构建Docker镜像(三)_第3张图片

构建Docker镜像(三)_第4张图片

3、查看镜像

docker images

构建Docker镜像(三)_第5张图片

4、创建并启动容器

docker run -dit --name test cnlxh/linux:httpdvim /bin/bash

docker start test

docker ps –a

构建Docker镜像(三)_第6张图片

三、测试容器是否成功

1、预期结果

最后的效果预期为:

1、    容器中内置了httpd和vim两个软件

2、    /var/www/html处有一个index.html,并且有内容

3、    开启了80端口

4、    并且设定好容器启动时,自动启动网站

2、内置软件检查

yum list installed | grep -e ^httpd -e ^vim

构建Docker镜像(三)_第7张图片

3、网站内容检查

cat /var/www/html/index.html

image

4、网站自动启动

tail -n 1 /etc/bashrc

image

构建Docker镜像(三)_第8张图片

5、端口开放

docker ps

image