欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

简单Dockerfile编写实例-编译http安装及挂载文件

程序员文章站 2024-03-09 15:51:35
...

先看一下大致的目录结构,一会这些文件都会用到

简单Dockerfile编写实例-编译http安装及挂载文件
看一下Dockerfile

FROM centos:7
WORKDIR /usr/local/src
#指定本地tar包和目标容器地址
ADD httpd-2.4.41.tar.gz /usr/local/src 
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
RUN rm -rf /usr/local/src/*
#修改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"]

在当前目录构建镜像

docker build -t my-httpd:v1 .

启动一个容器设置挂载

 docker run -itd --name http01 -p 80:80 -v /dockfile/httpd/htdocs:/usr/local/apache2/htdocs httpd:v1

查看是否成功

简单Dockerfile编写实例-编译http安装及挂载文件
测试文件映射
简单Dockerfile编写实例-编译http安装及挂载文件

[[email protected] htdocs]# echo " ni hao 01! " > index.html

测试
简单Dockerfile编写实例-编译http安装及挂载文件