使用Dockerfile创建带Apache服务的Centos Docker镜像1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Dockerfile创建带Apache服务的Centos Docker镜像1相关的知识,希望对你有一定的参考价值。

        这里将展示使用Dockerfile来创建带Apache服务的Docker镜像的具体过程。
 准备工作:
 首先,创建一个apache_centos工作目录,在其中
[[email protected] ~]# mkdir apache_centos && cd apache_centos
[[email protected] apache_centos]# touch Dockerfile run.sh
[[email protected] apache_centos]# mkdir sample

[[email protected] apache_centos]# cat Dockerfile 

FROM docker.io/centos:latest

#设置继承来自我们创建的centos:latest镜像


MAINTAINER waitfish from dockerpool.com

#创建者的基本信息


#设置环境变量,所有操作都是非交互式的

ENV DEBIAN_FRONTEND noninteractive


RUN echo "Asia/Shanghai" > /etc/timezone #&& \

         # dpkg-reconfigure -f noninteractive tzdata      #这也是设置时区的

#注意这里要更改系统的时区设置,因为在Web应用中经常会用到时区这个系统变量,默认的centos会让你的应用此程序发生不可思议的效果哦


#需要使用yum需要执行这一步

RUN yum update


#安装sshd服务

RUN yum install -y openssh-server


#安装wget

RUN yum install -y wget

WORKDIR /usr/local/src


#下载并解压源码包

RUN wget http://mirrors.shuosc.org/apache//httpd/httpd-2.2.34.tar.gz

RUN tar -xf httpd-2.2.34.tar.gz

WORKDIR httpd-2.2.34


#编译安装apache

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


#启动sshd服务

#RUN systemctl start sshd.service


#复制服务启动脚本并设置权限

ADD run.sh /usr/local/sbin/run.sh

RUN chmod 755 /usr/local/sbin/run.sh


#添加一个示例的Web站点,删除默认安装在apache文件夹下面的文件,并将我们添加的实例用软链接到/var/www/html目录下面

RUN mkdir -p /app && rm -fr /usr/local/apache2/html && ln -s /app /usr/local/apache2/html

COPY sample/ /app


#设置开机自启动

#COPY /usr/local/apache2/bin/httpd /etc/rc.d/init.d/httpd  

#chkconfig --add httpd


#RUN systemctl enable sshd.service

#RUN systemctl enable httpd.service


#开放80端口

EXPOSE 80 22

WORKDIR /app

CMD ["/usr/local/sbin/run.sh"]


本文出自 “爱生活的小白” 博客,请务必保留此出处http://sf1314.blog.51cto.com/13295031/1980710

以上是关于使用Dockerfile创建带Apache服务的Centos Docker镜像1的主要内容,如果未能解决你的问题,请参考以下文章

使用Dockerfile创建带编译安装znginx服务的Centos Docker镜像

系列2使用Dockerfile创建带sshd服务的Centos Docker镜像

使用Dockerfile创建一个带 ssh 服务的基础镜像

系列5使用Dockerfile创建带weblogic的Centos Docker镜像

系列6使用Dockerfile创建带LAMP的Centos Docker镜像

系列6使用Dockerfile创建带mysql5.6的Centos Docker镜像