• 首页
    • English
    • 中文
  • 关于我们
  • 服务项目
    • 谷歌SEO服务
    • WordPress建站服务
    • 谷歌ADS/SEM代运营
  • 项目案例
    • 医疗
    • 建材
    • 机械加工
    • 照明
    • 电商
    • 电脑硬件
  • 博客
    • 服务器运维
      • aliyun
      • 服务器安装
      • 宝塔面板
      • 虚拟化
      • 阿里云
      • Centos
      • linux
      • nginx
    • 电子商务
    • 免费资源
    • PHP
      • Magento
      • WordPress
    • 大数据采集
    • Python
    • Javascript
    • SEO
    • 未分类
  • 联系我们
What's Hot

机械模具加工公司网站设计案例

24 10 月, 2023

快速原型公司案例

24 10 月, 2023

陶瓷加工网站案例

24 10 月, 2023
Facebook Twitter Instagram
  • 中文
  • English
Facebook Twitter Instagram
VPSEO VPSEO
  • 首页
    • English
    • 中文
  • 关于我们
  • 服务项目
    • 谷歌SEO服务
    • WordPress建站服务
    • 谷歌ADS/SEM代运营
  • 项目案例
    • 医疗
    • 建材
    • 机械加工
    • 照明
    • 电商
    • 电脑硬件
  • 博客
    • 服务器运维
      • aliyun
      • 服务器安装
      • 宝塔面板
      • 虚拟化
      • 阿里云
      • Centos
      • linux
      • nginx
    • 电子商务
    • 免费资源
    • PHP
      • Magento
      • WordPress
    • 大数据采集
    • Python
    • Javascript
    • SEO
    • 未分类
  • 联系我们
VPSEO VPSEO
Home»虚拟化»docker部署Apache的https服务
虚拟化

docker部署Apache的https服务

chrispengcnBy chrispengcn15 5 月, 2023没有评论1 Min Read
Facebook Twitter Pinterest LinkedIn Tumblr Email
Share
Facebook Twitter LinkedIn Pinterest Email

docker部署Apache的https服务

实际过程超级简单,但也超级实用。docker容器用来非常爽爽的,部署一个apache服务几分钟搞定,就是加上ssl证书也是很快的。下面来说明一下基本过程:

(1)docker部署apache的web服务

无论是ubuntu还是centos中,安装docker是第一步。

如果是ubuntu,使用apt-get install http://docker.io即可;如果是centos,则使用yum install docker-ce。详细过程感兴趣的可以自行尝试,也有许多地方可以参考。

接下来就可以从docker仓库中下载镜像,对于httpd镜像,可以直接使用:

docker pull httpd

如果速度可以的话,很快就可以在本地下载了一个httpd的镜像。此时可以使用docker images来查看:

root@VM-0-2-ubuntu:~# docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
httpd        latest    c8ca530172a8   2 days ago   138MB

部署web服务就是几秒钟的事情了,直接使用docker运行镜像的命令:

docker run -p 80:80 --name demo -d httpd

这就是运行docker镜像并获得一个容器,该容器内就部署了apache的web服务,此时运行该容器,就可以使用nettools里的netstat来查看80端口是否开放,然后可以直接在外部浏览器里运行ip地址或域名。

上述docker运行时直接使用了容器里的服务,没有与本地目录关联。一般情况下我们会将自己编写好的web代码目录放在本地目录下,然后使用-v命令与容器内apache服务默认路径/usr/local/apache2/htdocs映射上,使得容器内的web服务会访问-v命令指定的本地web路径。例如本地存放web目录为/www/web,那就修改上述docker运行命令:

docker run -p 80:80 --name demo -v /www/web:/usr/local/apache2/htdocs -d httpd

以后的web开发代码文件就可以直接ftp到本地的/www/web目录下,刷新浏览器就可以直接查看最新成果。

(2)docker部署apache的https服务

如今大多数网站都开始使用ssl证书,也就是https服务。既然可以使用docker来部署http服务,当然也可以实现https服务的部署。这个过程就相对复杂一些。

第一步,申请ssl证书

可以去阿里云、腾讯云等出售域名的网站里申请免费的ssl证书,有效期为一年,一年后重新再申请即可。一般情况下申请成功后需要手动安装,此时下载ssl证书的压缩包,包括给apache、tomcat和IIS,nginx几种http服务的证书:

当部署apache服务时,就去apache目录下找到三个文件:

这三个证书文件是关键,需要保管好,第一个1序号的是SSL证书练文件,第二个是域名对应的crt,第三个为域名对应的key。

第二步,先运行一个docker容器,将https的443端口先部署上:

docker run -p 80:80 -p 443:443 -v /www/web:/usr/local/apache2/htdocs -d httpd

第三步,将容器内的/usr/local/apache2目录下(视不同系统)的httpd.conf文件拷贝到本地,同时将extra目录下的httpd-ssl.conf文件拷贝到本地。

docker cp 镜像ID:/usr/local/apache2/httpd.conf httpd.conf
docker cp 镜像ID:/usr/local/apache2/extra/httpd-ssl.conf httpd-ssl.conf

第四步,根据腾讯云或者阿里云提供的官方参考修改这两个文件

对于httpd.conf,主要取消两个注释:

LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf

对于httpd-ssl.conf文件,需要设定SSL证书三个文件在容器内的路径:

 # 证书公钥配置  
SSLCertificateFile /usr/local/apach2/conf/2_www.xxx.com.crt 第2个crt文件在容器内的路径
# 证书私钥配置
SSLCertificateKeyFile /usr/local/apach2/conf/3_www.xxx.com.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile /usr/local/apach2/conf/1_root.crt

同时修改Virtual Host中间内容,主要就是那个域名:

 ServerName  -- 网站域名

第五步,修改好两个文件后,再使用docker cp命令将其拷贝到原来的位置

docker cp httpd.conf 镜像ID:/usr/local/apache2/httpd.conf 
docker cp httpd-ssl.conf 镜像ID:/usr/local/apache2/extra/httpd-ssl.conf

第六步,将之前下载的三个证书文件拷贝到容器内对应位置

docker cp 1.crt 镜像ID:/usr/local/apache2/conf/1.crt
docker cp 2.com.crt 镜像ID:/usr/local/apache2/conf/2.com.crt
docker cp 3.key 镜像ID:/usr/local/apache2/conf/3.key

第七步,重启容器服务,恭喜大功告成!

docker restart 之前的容器ID

然后可以愉快的访问https域名了(刚给对方公司完成的部署).

Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
chrispengcn
  • Website

Related Posts

docker下如何部署 varnish ?

26 6 月, 2023

【docker知识】从容器中如何访问到宿主机

15 5 月, 2023

ESXI6.7下直通硬盘给群晖步骤,RDM直通方式!

19 4 月, 2023

使用Docker安装frp

18 4 月, 2022
Add A Comment

Leave A Reply Cancel Reply

*

code

导航
  • 首页
  • 关于我们
  • 服务项目
  • 项目案例
  • 博客文章
  • 联系我们
博客
  • 服务器运维
  • 服务器安装
  • nginx
  • PHP
  • WordPress
  • Python
  • Javascript
  • SEO
  • 电子商务
  • 大数据采集
  • 宝塔面板
  • 数据库
  • 电子商务
  • 虚拟化
  • 阿里云
导航
  • 首页
  • 关于我们
  • 谷歌SEO服务
  • 谷歌ADS/SEM代运营
  • WordPress建站服务
  • 项目案例
  • 博客
  • 联系我们
最新文章
  • 机械模具加工公司网站设计案例
  • 快速原型公司案例
  • 陶瓷加工网站案例
  • CNC数控加工日文网站案例
  • 触摸一体机数字标牌厂家网站案例
关于我们
关于我们

广州纬来科技有限公司
联系地址:广东省广州市番禺区富华中路富源二街18号合和大厦809

QQ : 13602156
Email : 13926026058@139.com
Contact: +86 13926026058

Facebook Twitter YouTube LinkedIn
© 2025 广州纬来科技有限公司 粤ICP备2023105857号-2
  • 首页
  • 关于我们
  • 谷歌SEO服务
  • 谷歌ADS/SEM代运营
  • WordPress建站服务
  • 项目案例
  • 博客
  • 联系我们

Type above and press Enter to search. Press Esc to cancel.