通过docker-compose部署Nginx

参考资料

  1. Docker Compose
  2. Nginx Docs

先决条件

  1. 创建挂载目录 mkdir -p /你的位置/nginx/{conf,conf.d,html,logs,cert}
  2. 下载镜像 docker pull nginx

运行并拷贝文件到宿主机

  1. 运行

    1
    docker run -i -t nginx
  2. 查看CONTAINER ID

    1
    docker ps -a
  3. 拷贝

    1
    2
    docker cp CONTAINER ID:/etc/nginx/nginx.conf /你的位置/nginx/conf/nginx.conf
    docker cp CONTAINER ID:/etc/nginx/conf.d/default.conf /你的位置/nginx/conf.d/default.conf

编写docker-compose.yml文件,文件内容如下👇

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
version: "3"

networks:
my-net:
external: true

services:
nginx:
image: nginx:latest
container_name: nginx
volumes:
- /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
- /data/nginx/logs:/var/log/nginx
- /data/nginx/html:/usr/share/nginx/html
- /data/nginx/cert:/etc/nginx/cert
restart: always
networks:
- my-net
ports:
- "80:80"
- "443:443"

解释

  • my-net提前构建的网络的名称,external: true使用外部网络,也就是说使用我之前创建好的网络
  • volumes::前宿主机地址,后容器地址
    • /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:挂载配置文件
    • /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf:挂载配置文件
    • /data/nginx/logs:/var/log/nginx:挂载日志
    • /data/nginx/html:/usr/share/nginx/html:挂载静态页面
    • /data/nginx/cert:/etc/nginx/cert:挂载ssl地址

执行命令

1
docker compose up -d

访问服务器地址/ip如图👇

我对原有页面进行了翻译正常是英文的


通过docker-compose部署Nginx
https://crudclass.github.io/2022/08/20/docker/Docker-Compose/deploy-nginx/
作者
Zero
发布于
星期六, 八月 20日 2022, 3:56 下午
许可协议