热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用docker容器部署httpd(绝对可用)

众所周知,httpd是一个服务,里面有很多配置要改,通过dockerfile编写很复杂,所以这里,我们【采用进

众所周知,httpd是一个服务,里面有很多配置要改,通过dockerfile编写很复杂,所以这里,我们【采用进入容器内修改的方式,去生成一个新的httpd容器】

httpd我们平常用yum安装,所以一定要最好是自带Yum的centos7


拉取容器基础环境

docker pull centos:7

启动容器,以特权模式启动,否则无法修改httpd

docker run -dit --name httpd --privileged=true docker.io/centos:7 init

然后进入容器

docker exec -it httpd /bin/bash

进入容器内部后,安装httpd

yum install httpd

修改httpd指定你想访问的端口

vi /etc/httpd/conf/httpd.conf

改成自己喜欢的端口

vi /etc/httpd/conf.d/welcome.conf

减号改加号,意思是不用默认页面

重启(这里centos的版本不一样,启动的代码也不一样)

systemctl restart httpd.service


构建新镜像


 docker commit -a="clark" -m="i install httpd" httpd dahua-httpd


启动容器


docker run -di --name dahua-httpd -p 9998:9999 dahua-httpd:latest


前面9998是,映射出来的端口号,9999是容器内部端口号,我们通过9998访问来观察是否成功

不成功!要进入容器里面在把他给启动


docker exec -it dahua-httpd /bin/bash

systemctl start httpd.service


成功


但是,你是不是会觉得很蠢!为什么还要进入容器里面使用,容器之所以出来,就是让大家run一下服务就能用的

ok,下面,老弟带你加一个小参数就搞定,在run的时候也启动内部服务

我来给大家演示一下,想搞定,必备Dockerfile

创建一个httpd2的文件夹,在里面创建一个Dockerfile

dockerfile意思是:拉取我们刚生成的带httpd的镜像,然后运行run.sh脚本,并且暴露端口

FROM dahua-httpd
RUN echo "Asia/Shanghai" > /etc/timezone
COPY run.sh /run.sh
RUN chmod 777 /run.sh
EXPOSE 9999
ENTRYPOINT [ "/run.sh" ]

为什么要用run.sh,而不是直接执行,因为从外部执行docker会有很多限制,很多不会生效

run.sh脚本的内容

#!/bin/sh
httpd
bash

解释,运行httpd,然后bash表示,他运行完不会退出,不加bash会导致容器关闭

注意httpd,不要写成systemctl start httpd.service这样不安全(并且run的时候还要多加很多操作),httpd就代表httpd start

构建新的自动运行的镜像,其中httpd2是名称

docker build -t dahua-httpd-new .

启动

docker run -dit --name dahua-httpd -p 9998:9999 dahua-httpd-new:latest

浏览器访问

 

参考:

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

Docker 镜像构建之 docker commit - 知乎

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


推荐阅读
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
author-avatar
80后女孩香香521
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有