全栈工程师-咨询电话:15675178605 (微信同号)

创建运行Nginx容器和修改配置_Docker容器化部署

一、创建运行Nginx的Docker容器

1、创建Nginx的Docker容器

运行命令:【 docker run -d -p 80:80 --name nginx_octshop_con registry.cn-hangzhou.aliyuncs.com/octshop/nginx_octshop:v3

2、在宿主机目录中,挂载配置文件 nginx.conf

----回到Linux的根目录中,cd进入 OctMallAllWeb 文件夹中,创建nginx文件夹

运行命令:【 mkdir nginxconf 】, 运行命令:【 chmod -R 777 nginxconf 】给文件夹赋读写权限
运行命令:【 mkdir nginxcerts 】, 运行命令:【chmod -R 777 nginxcerts 】给文件夹赋读写权限

3、将nginx的配置文件复制到挂载目录中

运行命令:【 docker cp nginx_octshop_con:/etc/nginx/nginx.conf /OctMallAllWeb/nginxconf/nginx.conf

4、删除之前创建的Nginx的Docker容器,创建新的容器,并挂载配置文件目录

运行命令:【 docker rm -f nginx_octshop_con

5、重新创建运行新的容器,并挂载配置文件目录

运行命令:【  docker run -d -p 80:80 -p 443:443 --name nginx_octshop_con -v /OctMallAllWeb/nginxconf/nginx.conf:/etc/nginx/nginx.conf -v /OctMallAllWeb/nginxcerts:/etc/nginx/nginxcerts registry.cn-hangzhou.aliyuncs.com/octshop/nginx_octshop:v3

运行命令:【 docker update --restart=always nginx_octshop_con 】 开机自动启动

6、进入到 nginx_octshop_con 容器目录中,创建放置https证书的文件夹【 nginxcerts 】

运行命令:【 docker exec -it -u root nginx_octshop_con /bin/bash 】进入到容器中。
运行命令:【 mkdir /etc/nginx/nginxcerts 】创建目录,也可能已存在。
运行命令:【 chmod -R 777 /etc/nginx/nginxcerts 】赋值读写权限。
运行命令:【 exit 】即出容器。

7、将Nginx容器加入到开机自动启动

【 docker update --restart=always nginx_octshop_con 


二、创建自定义docker桥接网络,并将所有容器加入到桥接网络

1、创建自定义桥接网络 octshopnet

运行命令:【 docker network create octshopnet

2、将所有容器加入到桥接网络,依次运行如下命令

docker network connect octshopnet nginx_octshop_con

docker network connect octshopnet octadvertisersystemweb_publish_con

docker network connect octshopnet octaftersaleacccussystemweb_publish_con

docker network connect octshopnet octcmssystemweb_publish_con

docker network connect octshopnet octcommoncodesystemweb_publish_con

docker network connect octshopnet octfileuploadsystemweb_publish_con

docker network connect octshopnet octmallappweb_publish_con

docker network connect octshopnet octmallminiweb_publish_con

docker network connect octshopnet octshopsystemweb_publish_con

docker network connect octshopnet octthirdapicallsystemweb_publish_con

docker network connect octshopnet octtradingsystemweb_publish_con

docker network connect octshopnet octusergoodsshopsystemweb_publish_con

docker network connect octshopnet octwapweb_publish_con

3、查看加入桥接网络 octshopnet 的容器信息

运行命令:【 docker network inspect octshopnet 】 如下图:



三、修改Nginx的配置文件

1、请将所有的站点https证书上传到宿主机【/OctMallAllWeb/nginxcerts/】目录中,请注意使用的是nginx类型的证书。

2、进入到宿主机目录【/OctMallAllWeb/nginxconf/】中,修改 nginx.conf 文件中的配置参数,如下:

请注意掉 #include /etc/nginx/conf.d/*.conf; 这一行,然后,在下面加入以下配置。

请注意修改其中的,【 server_name 】 【 ssl_certificate 】 【 ssl_certificate_key 】 为自己项目配置的参数。需要Https的 站点,请先申请SSL证书。

特别注意:如果要使用https请在nginx容器中,开放443端口,否则,https无法访问,报错。

特别注意其中的证书路径必须真实有效,否则,会造成nginx容器无法启动成功,所有站点都无法访问。在http { } 大括号 中加入如下代码。

具体代码内容如下,点击链接全部复制即可:

https://pc.opencodetiger.com/NginxConfig.txt


配置站点前,请将需要用到的域名解析到服务器IP上,每个系统站点需要一个独立的域名进行访问。推荐二级域名前缀命名如下:

asac.xxxx.com -> OctAfterSaleAccCusSystemWeb_Publish
cc.xxxx.com -> OctCommonCodeSystemWeb_Publish
fu.xxxx.com -> OctFileUploadSystemWeb_Publish
oad.xxxx.com -> OctAdvertiserSystemWeb_Publish
tac.xxxx.com -> OctThirdApiCallSystemWeb_Publish
tra.xxxx.com -> OctTradingSystemWeb_Publish
ugs.xxxx.com -> OctUserGoodsShopSystemWeb_Publish
mini.xxxx.com -> OctMallMiniWeb_Publish
maw.xxxx.com -> OctMallAppWeb_Publish
h5.xxxx.com -> OctWapWeb_Publish
shop.xxxx.com -> OctShopSystemWeb_Publish
cms.xxxx.com -> OctCmsSystemWeb_Publish

特别注意:其中站点 OctFileUploadSystemWeb_Publish,OctWapWeb_Publish,OctMallMiniWeb_Publish,OctThirdApiCallSystemWeb_Publish,OctMallAppWeb_Publish,OctUserGoodsShopSystemWeb_Publish 必须为Https,所以,要为其分配证书。


上一步:挂载宿主机目录到各系统Docker容器中_Docker容器化部署

下一步:创建与运行MS SQL Server 2019 容器_Docker容器化部署