Я пытаюсь опубликовать 2 порта простого контейнера докера, чтобы провести несколько тестов.
Вот шаги по воспроизведению проблемы.
Мой простой Dockerfile:
FROM bash:4
RUN echo ok
Построен с использованием docker build . -t essai
Моя первая версия файла docker-compose.yml, эта работает:
version: '3'
services:
essai:
image: essai
ports:
- 25432:5432
Но когда я пытаюсь опубликовать второй порт следующим образом:
version: '3'
services:
essai:
image: essai
ports:
- 25022:22
- 25432:5432
Я получаю это странное сообщение об ошибке:
$ docker-compose up Создание сети "sandbox_default" с помощью
драйвер по умолчанию Создание sandbox_essai_1 ... Создание sandbox_essai_1
... ошибка
ОШИБКА: для sandbox_essai_1 Невозможно создать контейнер для службы essai:
неверная спецификация порта: "1501342"
ОШИБКА: для essai Невозможно создать контейнер для службы essai: недействительно
спецификация порта: «1501342» ОШИБКА: обнаружены ошибки при доставке
вверх по проекту.
Где он находит порт 1501342
?
Забавно, когда я пишу свой docker-compose примерно так:
version: '3'
services:
essai:
image: essai
ports:
- "25022:22"
- 25432:5432
Работает.
Что за магия с этими двойными кавычками и номером порта, появляющимся из ниоткуда?