创建存放apache服务Dockerfile文件的目录
[ root@localhost ~]
[ root@localhost ~]
[ root@localhost apache]
上传apr、apr-util、httpd源码包
[ root@localhost apache]
[ root@localhost files]
apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.48.tar.gz
编写Dockerfile文件
[ root@localhost apache]
FROM centos
LABEL WAINTAINER = 'wjj200112 1234567890@qq.com'
ADD files/* /usr/local
WORKDIR /usr/local/
RUN yum -y install openssl-devel pcre-devel pcre expat-devel libtool gcc gcc-c++ make which && \
cd apr-1.7.0 && sed -i '/$RM "$cfgfile "/d' configure && \
./configure --prefix= /usr/local/apr && make && make install && \
cd .. /apr-util-1.6.1 && \
./configure --prefix= /usr/local/apr-util --with-apr= /usr/local/apr && \
make && make install && \
cd .. /httpd-2.4.48 && \
./configure --prefix= /usr/local/apache \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-apr= /usr/local/apr \
--with-apr-util= /usr/local/apr-util/ \
--enable-modules= most \
--enable-mpms-shared= all \
--with-mpm= prefork && make && make install
EXPOSE 80
VOLUME [ "/usr/local/apache/htdocs/" ]
ENV PATH /usr/local/apache/bin:$PATH
CMD [ "/usr/local/apache/bin/apachectl" ,"-D" ,"FOREGROUND" ]
构建镜像
[ root@localhost ~]
.. .. .. .. 此处省略多行执行过程
Removing intermediate container 45f40500358e
---> bcbbcad642d8
Step 6 /9 : EXPOSE 80
---> Running in 726e648085b3
Removing intermediate container 726e648085b3
---> c3a106d80d8e
Step 7 /9 : VOLUME [ "/usr/local/apache/htdocs/" ]
---> Running in 905edca5b645
Removing intermediate container 905edca5b645
---> 402d9495825d
Step 8 /9 : ENV PATH /usr/local/apache/bin:$PATH
---> Running in 677167db82e7
Removing intermediate container 677167db82e7
---> cc5aab9ffa5f
Step 9 /9 : CMD [ "/usr/local/apache/bin/apachectl" ,"-D" ,"FOREGROUND" ]
---> Running in c88a4ee5d4ce
Removing intermediate container c88a4ee5d4ce
---> 36472e701b79
Successfully built 36472e701b79
Successfully tagged wjj200112/httpd:latest
查看镜像
[ root@localhost ~]
REPOSITORY TAG IMAGE ID CREATED SIZE
wjj200112/httpd latest 36472e701b79 3 minutes ago 701MB
centos latest 5d0da3dc9764 2 months ago 231MB
基于新镜像创建容器
[ root@localhost ~]
fa9e3e4509fed96b79939ec7839ccb484591509de13c25413c87cd7c3025d926
[ root@localhost ~]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fa9e3e4509fe wjj200112/httpd:latest "/usr/local/apache/b…" 8 seconds ago Up 7 seconds 0.0 .0.0:49153-> 80 /tcp, :::49153-> 80 /tcp apache
访问网页