一、准备工作
1、安装Docker
https://blog.csdn.net/u011374856/article/details/103071964
2、创建目录
#nginx配置目录
mkdir -p /home/docker/nginx/conf/
#nginx静态目录
mkdir -p /home/docker/nginx/html/
#nginx日志目录
mkdir -p /home/docker/nginx/logs/
#nginx证书目录
mkdir -p /home/docker/nginx/cert/
3、创建bridge网络并指定IP区间,注意:多容器IP访问必备
#创建自定义网络
docker network create --driver bridge --subnet 172.0.0.0/16 woniu_network
#查看已存在网络
docker network ls
二、申请证书
阿里云SSL免费证书、其他SSL免费证书都可以,注意:免费证书有效期一年
三、配置文件
1、基本配置
2、证书相关配置
# 配置监听端口并开启ssl
listen 443 ssl;
# 配置访问域名
server_name www.xxxxx.com;
# 指定 ssl 证书路径
ssl_certificate cert/xxxxx.pem;
# 指定私钥文件路径
ssl_certificate_key cert/xxxxx.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
3、http强制转到https
server{
listen 80;
# 配置访问域名
server_name www.xxxxx.com;
# 把http的域名请求转成https
rewrite ^(.*)$ https://$host$1 permanent;
}
四、安装Nginx
注意:安装之前/home/docker/nginx/conf目录下要有nginx.conf配置文件
Docker安装Nginx命令
网络:woniu_network,IP:172.0.0.2
端口:80/443
docker run -p 80:80 -p 443:443 \
--name nginx -d \
--restart=always \
--network woniu_network \
--ip 172.0.0.2 \
-v /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/docker/nginx/html:/usr/share/nginx/html \
-v /home/docker/nginx/logs:/var/log/nginx \
-v /home/docker/nginx/cert:/etc/nginx/cert \
nginx
五、测试
1、创建login.html页面
<html>
<head>
<meta charset="utf-8">
<title>Nginx测试</title>
</head>
<body>
<h1>Nginx测试</h1>
</body>
</html>
2、把测试页面上传到/home/docker/nginx/html目录
3、访问地址