在多映像、多域docker-compose.yml中使用letsencrypt nginx proxy companion
我想为5个不同的网站提供服务,每个网站在dockerhub上都有自己的docker图像,我想为所有网站提供一个docker-compose.yml文件。 我使用的工具有: - - 我想 1.使用docker compose并为所有网站提供服务-每个网站都有一个唯一的域名 2.使用docker compose和 我已经成功地使用这个docker-compose.yml完成了步骤#1:在多映像、多域docker-compose.yml中使用letsencrypt nginx proxy companion,docker-compose,lets-encrypt,jwilder-nginx-proxy,Docker Compose,Lets Encrypt,Jwilder Nginx Proxy,我想为5个不同的网站提供服务,每个网站在dockerhub上都有自己的docker图像,我想为所有网站提供一个docker-compose.yml文件。 我使用的工具有: - - 我想 1.使用docker compose并为所有网站提供服务-每个网站都有一个唯一的域名 2.使用docker compose和 我已经成功地使用这个docker-compose.yml完成了步骤#1: version: '2' services: nginx-proxy: image: jwilde
version: '2'
services:
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
changed-site1:
image: changed-user/changed-site1:v0.1.0
environment:
- VIRTUAL_HOST=changed-site1.com
changed-site2:
image: changed-user/changed-site2:v0.1.0
environment:
- VIRTUAL_HOST=changed-site2.com
changed-site3:
image: changed-user/changed-site3:v0.1.0
environment:
- VIRTUAL_HOST=changed-site3.com
changed-site4:
image: changed-user/changed-site4:v0.1.0
environment:
- VIRTUAL_HOST=api.changed-site4.com
changed-site5:
image: changed-user/changed-site5:v0.1.0
environment:
- VIRTUAL_HOST=changed-site5.com
当我运行“docker compose up”时,一切正常,但没有SSL
我现在正试图完成第2步,我的每个站点都给我一个502错误。而SSL对它们都不起作用。这就是我的docker-compose.yml文件的外观:
version: '2'
services:
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- conf:/etc/nginx/conf.d
- vhost:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- dhparam:/etc/nginx/dhparam
- certs:/etc/nginx/certs:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
network_mode: bridge
letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: nginx-proxy-le
volumes_from:
- nginx-proxy
volumes:
- certs:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
network_mode: bridge
changed-site1:
image: changed-user/changed-site1:v0.1.0
environment:
- VIRTUAL_HOST=changed-site1.com
changed-site2:
image: changed-user/changed-site2:v0.1.0
environment:
- VIRTUAL_HOST=changed-site2.com
changed-site3:
image: changed-user/changed-site3:v0.1.0
environment:
- VIRTUAL_HOST=changed-site3.com
changed-site4:
image: changed-user/changed-site4:v0.1.0
environment:
- VIRTUAL_HOST=api.changed-site4.com
changed-site5:
image: changed-user/changed-site5:v0.1.0
environment:
- VIRTUAL_HOST=changed-site5.com
你知道我在第二个docker-compose.yml文件(第一个文件正在运行)中做错了什么吗?我认为首先你更改的站点*:缩进得太远了。它们应该具有与letsencrypt:容器相同的缩进 其次,如果您想使用nginx代理伴侣,那么必须为每个容器提供作为环境变量的LETSENCRYPT_主机,这在他的github()中也有解释 希望这有帮助 问候