创建文件夹存放httpd的数据和httpd的配置

mkdir -p /install/httpdData

在里面建4个文件

编写 Dockerfile

EXPOSE只是声明提示,无任何实质性作用

FROM docker.io/centos:7
RUN echo "Asia/Shanghai" > /etc/timezone
RUN yum -y install httpd
RUN mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.bak
COPY run.sh /run.sh
RUN chmod 777 /run.sh
EXPOSE 80
ENTRYPOINT [ "/run.sh" ]

编写运行脚本run.sh

#!/bin/sh
httpd
bash

整体流程
httpd(里面是80,既允许80访问),容器-p,9999:80(宿主机是9999,从9999的端口都会映射到容器的80里,所以通过外部是9999访问,注意关闭内部宿主机防火墙,并且关闭云服务器安全组要对9999端口放行)
 

镜像构建,并运行docker,挂载本地文件目录,以及配置文件

cd /install/httpdData

docker build -t httpd .

docker run -dit --name httpd -p 9999:80 -v /install/httpdData/data:/var/www/html/ -v /install/httpdData/httpd.conf:/etc/httpd/conf/httpd.conf  httpd:latest

测试(如果是云服务器,需开启对应端口号,阿里叫安全组,腾讯叫防火墙)

 

参考:

另外特别鸣谢-感谢公司某雷哥的支持

Docker 镜像构建之 docker commit - 知乎

Centos7文件服务器的搭建(含域名访问)_我要用代码向我喜欢的女孩表白的博客-CSDN博客_centos7文件服务器搭建

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐