Как назначить статический порт контейнеру?

Я хочу назначить контейнер порту, чтобы он получал один и тот же порт после каждого перезапуска контейнера.

Пример: У меня есть контейнер, в котором есть Apache. Apache работает на порту 80 внутри контейнера. Теперь, после запуска контейнера, докер назначает порт хоста порт контейнера, например: 49154 → 80. Но порт хоста изменяется после перезапуска, в зависимости от количества запущенных контейнеров. Я попытался указать порт в файле config.json контейнера, но он перезаписывается.

Можно ли вручную указать порт хоста?

Спасибо заранее и с наилучшими пожеланиями, Крис

Ответ 2

При запуске docker вы можете использовать параметр "-p".

docker run -p 80 yourimage apache2 будет делать то, что у вас есть.

Теперь вы можете указать ':', чтобы сделать этот порт статическим:

docker run -p :80 -p :443 yourimage apache2

Если вы используете файл Docker с инструкцией EXPOSE, это одно и то же:)