docker安装nginx并配置SSL

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

如果 STATUSUP 则表示启动成功

复制代码
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
相关推荐
Patrick_Wilson2 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy3 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭3 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩4 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
Avan_菜菜4 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
程序员老赵4 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1115 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽6 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康7 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
ping某8 天前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx