使用docker容器部署httpd(绝对可用)
总所周知,httpd是一个服务,里面有很多配置要改,通过dockerfile编写很复杂,所以这里,我们【采用进入容器内修改的方式,去生成一个新的httpd容器】在其他程序中使用的办法,使用dockerfile,from这个镜像,然后通过dockerfile启动httpd。前面9998是,映射出来的端口号,9999是容器内部端口号,我们通过9998访问来观察是否成功。重启(这里centos的版本不一
创建文件夹存放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文件服务器搭建
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)