docker network https 配置
- 手动建一个外部网络;
- 两个 Compose 文件都把服务加到这个网络;
- Caddyfile 里直接写
reverse_proxy http://ruoyi-nginx。
步骤 1:创建外部网络(一次性)
bash
docker network create web步骤 2:改造 Caddy 的 Compose 文件
yaml
# /home/docker/caddy/docker-compose.yml
services:
gateway:
image: caddy:2-alpine
container_name: caddy-gateway
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- /home/docker/caddy/Caddyfile:/etc/caddy/Caddyfile:ro
- /home/docker/caddy/data:/data
- /home/docker/caddy/config:/config
networks:
- web # 关键:加入外部网络
networks:
web:
external: true # 使用刚才建好的外部网络步骤 3:改造 ruoyi-nginx 的 Compose 文件
yaml
# 任意目录下的 docker-compose.yml
services:
ruoyi-nginx:
container_name: ruoyi-nginx
image: ruoyi-nginx
expose: # 只暴露端口给网络,不映射到宿主机
- "80"
volumes:
- ./html/dist:/home/ruoyi/projects/ruoyi-ui
- ./conf/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/logs:/var/log/nginx
- ./nginx/conf.d:/etc/nginx/conf.d
depends_on:
- ruoyi-server
networks:
- web # 同一个外部网络
networks:
web:
external: true步骤 4:Caddyfile 写容器名即可
json
jk.xxx.com {
reverse_proxy http://ruoyi-nginx
}步骤 5:重新拉起两个栈
bash
# 先停旧的
docker compose -f /home/docker/caddy/docker-compose.yml dow