Синтаксис в составе.
ался настроитьNginx-прокси Контейнер для доступа к другим моим контейнерам через поддоменов через порт 80 вместо специальных портов. Как вы можете догадаться, я не мог заставить его работать.
Я новичок в докере и обнаружил, что мне удобнее писатьdocker-compose.yml
файлы, поэтому мне не нужно постоянно писать долгоdocker run ...
команды. Я думал, что нет никакой разницы в том, как вы запускаете контейнеры, либо сdocker
или жеdocker-compose
, Тем не менее, я заметил одно отличие в том, что запуск контейнера сdocker
не создает никаких новых сетей, но сdocker-compose
там будетxxx_default
сеть потом.
Я читал, что контейнеры в разных сетях не могут обращаться друг к другу, и, возможно, это может быть причиной того, что nginx-прокси не передает запросы другим контейнерам. Тем не менее, я не смог найти способ настроить мойdocker-compose.yml
файл, чтобы не создавать новые сети, а вместо этого присоединиться к сети моста по умолчанию, какdocker run
делает.
Я попробовал следующее, но это привело к ошибке, говорящей, что я не могу подключиться к системным сетям, как это:
networks:
default:
external:
name: bridge
Я тоже пробовалnetwork_mode: bridge
, но это, казалось, не имело никакого значения.
Как мне написатьdocker-compose.yml
файл, чтобы не создавать новую сеть, или это вообще невозможно?
Бонусный вопрос: есть ли другие различия междуdocker
а такжеdocker-compose
что я должен знать?