1、拉取镜像
docker pull nginx
2、启动nginx容器,复制一份默认配置文件出来
// 以nginx镜像为基础镜像创建一个名为nginx01的容器
docker run -d -p 80:80 --name nginx01 nginx
创建成功后会看到nginx的欢迎页面
3、挂载nginx目录
拷贝nginx的配置信息到主机目录
sudo docker cp nginx01:/etc/nginx /usr/local/
删除容器
docker rm -f nginx01
4、重新创建nginx容器并挂载配置目录
docker run -d -p 80:80 -p 443:443 --name nginx01 -v /usr/local/nginx:/etc/nginx nginx
如果 STATUS
为 UP
则表示启动成功
docker ps
5、查看挂载是否成功
docker inspect nginx01
6、在宿主机创建ssl目录
mkdir /usr/local/nginx/ssl
进入容器查看挂载文件是否同步到容器内
docker exec -it nginx01 /bin/bash
进入容器的nginx配置目录
cd /etc/nginx/ssl
能进入目录则表示同步成功,退出容器
exit
7、修改配置宿主机,增加ssl证书配置
vim /usr/local/nginx/conf.d/default.conf
部分配置如下
server {
listen 443 ssl;
server_name www.xxx.com;
ssl_certificate /etc/nginx/ssl/xxxxx.crt;
ssl_certificate_key /etc/nginx/ssl/xxx.key;
# listen 80;
#server_name localhost:8090;
client_max_body_size 500m;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass http://ip:端口/;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
8、重启nginx容器
docker restart nginx01