Потратив несколько дней на эту проблему, пробую различные решения. Обновление моего репо несколько раз. Мне удалось это исправить.
Статья в блоге, которую я использовал, устарела, так как была написана еще в 2017 году, и в том же блоге я нашел последнюю статью (https://blog.ssdnodes.com/blog/host-multiple-websites-docker-nginx/), которую при проверке различий использовал nginx-proxy
*) 1006 *, 'jwilder / docker-gen' и jrcs/letsencrypt-nginx-proxy-companion
.
В последней статье используется только jwilder/nginx-proxy
, но я изменил его, добавив также jrcs/letsencrypt-nginx-proxy-companion
. См. Мое решение ниже:
version: "3.6"
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
letsencrypt-nginx-proxy-companion:
image: jrcs/letsencrypt-nginx-proxy-companion
environment:
NGINX_PROXY_CONTAINER: nginx-proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- vhost:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- certs:/etc/nginx/certs
volumes:
conf:
vhost:
html:
dhparam:
certs:
networks:
default:
external:
name: nginx-proxy
Кроме того, еще одна из моих проблем заключалась в том, что порт, который ghost использует по умолчанию, был 2368
, поэтому мне пришлось связать его, чтобы использовать порт 80. Поэтому мое решение для этого было вместо того, чтобы выставлять порт 80 на ghost, я создайте службу nginx
, которая предоставляет порт 80.
Ниже приведены настройки моего призрака:
version: "3.6"
services:
ghost:
image: ghost
restart: always
volumes:
- ../../ghost:/var/lib/ghost/content
environment:
- VIRTUAL_HOST=blog.domain.com
- LETSENCRYPT_HOST=blog.domain.com
- LETSENCRYPT_EMAIL=name@domain.com
- NODE_ENV=production
- url=https://blog.domain.com
nginx:
image: nginx
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
expose:
- 80
depends_on:
- ghost
links:
- ghost
networks:
default:
external:
name: nginx-proxy
Таким образом, я смог иметь как мой веб-сайт (https://gregsithole.com), так и мой блог (https://blog.gregsithole.com)), работающий под одним прокси