docker-compose: опубликовать несколько портов - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь опубликовать 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

Работает.

Что за магия с этими двойными кавычками и номером порта, появляющимся из ниоткуда?

1 Ответ

0 голосов
/ 27 июня 2018

Согласно документации для докера , рекомендуемый способ указать сопоставление портов - это объявление строк, особенно когда порт контейнера меньше 60.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...