使用 Dockerfile 来制作 httpd 镜像
1.创建工作目录文件夹apache_centos
mkdir -p /root/apache_centos
cd /root/apache_centos
2.创建Dockerfile
vim Dockerfile
#新生成的镜像是基于sshd:dockerfile镜像
FROM centos7:v1
MAINTAINER eden
#安装wget
RUN yum install -y wget
WORKDIR /usr/local/src
#下载并解压源码包
RUN wget http://apache.fayea.com/httpd/httpd-2.4.41.tar.gz
RUN tar -zxvf httpd-2.4.41.tar.gz
WORKDIR httpd-2.4.41
#编译安装apache
RUN yum -y install epel-release.noarch && yum makecache fast
RUN yum install -y gcc make apr-devel apr apr-util apr-util-devel pcre-devel
RUN ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-so
RUN make
RUN make install
#修改apache配置文件
RUN sed -i 's/#ServerName www.example.com:80/ServerName localhost:80/g' /usr/local/apache2/conf/httpd.conf
#启动apache服务
RUN /usr/local/apache2/bin/httpd
#复制服务启动脚本并设置权限
ADD run.sh /usr/local/sbin/run.sh
RUN chmod 755 /usr/local/sbin/run.sh
#开放80端口
EXPOSE 80
CMD ["/usr/local/sbin/run.sh"]
3.创建run.sh
在工作环境下:
vim run.sh
写入:
#!/bin/bash
/usr/local/apache2/bin/httpd -D FOREGROUND
-
Docker目录如下:(其中有两个文件 一个Dockerfile,一个run.sh)
image.png
4. 生成镜像
docker build -t apache_dockerfile:centos .
5.生成新的容器
docker run -d -p 2222:22 -p 8000:80 apache_dockerfile:centos /usr/local/sbin/run.sh
-
docker ps 查看 此时已生成以httpd镜像的docker
image.png
5.浏览器测试
输入: 10.0.122.38:8008

网友评论