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
相关推荐
用户13573999256607 小时前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h8 小时前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔9 小时前
通过 Docker 创建开发环境
docker·开发环境
冬奇Lab1 天前
一天一个开源项目(第41篇):Workout.cool - 现代化开源健身教练平台,训练计划与进度追踪
docker·开源·资讯
天朝八阿哥1 天前
使用Docker+vscode搭建离线的go开发调试环境
后端·docker·visual studio code
十二7401 天前
前端缓存踩坑实录:从版本号管理到自动化构建
前端·javascript·nginx
可观测性用观测云2 天前
云原生网关 Ingress-Nginx 链路追踪实战:OpenTelemetry 采集与观测云集成方案
nginx·kubernetes
阿虎儿2 天前
Docker安装(非sudo用户可用)
docker
fetasty3 天前
rustfs加picgo图床搭建
docker
蝎子莱莱爱打怪4 天前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes