#javascript #yaml
#docker #docker-compose
Вопрос:
Я не знаю, есть ли разница между портами с кавычками или без них в docker-compose.yml
файле, не могу найти никакой хорошей документации.
- С кавычками
ports:
- "80:80"
- "443:443"
- Без кавычек
ports:
- 80:80
- 443:443
Я не вижу разницы, когда запускаю его
Комментарии:
1. Спецификация YAML включена yaml.org . Иногда строки с двоеточиями могут выглядеть как
key: value
сопоставления, а строки цифр могут выглядеть как числа, когда они должны быть строками, поэтому я привык их цитировать.2. Просто возникла проблема, когда я хотел выставить постфиксный порт 25 в docker-compose.
"25:25"
работал, тогда25:25
как не работал. Так что, я думаю, всегда полезно использовать кавычки3. Меня это тоже задело.
21:21
создал сопоставление0.0.0.0:32769->1281/tcp
. Тогда ладно !?4. это также происходит с официальным контейнером postgres: 13.2 (также 13). Если вы используете 5433: 5432, он не будет отображать порт 5433, и вам будет отказано в подключении. Как только вы измените его на «5433: 5432», он будет работать
Ответ №1:
Примечание из ссылки на файл Docker Compose версии 3:
При сопоставлении портов в формате HOST:CONTAINER могут возникнуть ошибочные результаты при использовании порта контейнера ниже 60, поскольку YAML анализирует числа в формате xx:yy в качестве базового значения 60. По этой причине мы рекомендуем всегда явно указывать ваши сопоставления портов в виде строк.
https://docs.docker.com/compose/compose-file/compose-file-v3/#ports