使用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镜像
系列5使用Dockerfile创建带weblogic的Centos Docker镜像