Я создал контейнер postgres из официального изображения posgres.Я пытаюсь сопоставить порт 5432, чтобы я мог получить доступ к контейнеру с моего локального хоста.
Если я выставлю порт через Dockerfile
, сопоставление не произойдет.Вот мой Dockerfile
FROM postgres
EXPOSE 5432:5432
Когда я создаю образ и запускаю его, вот что я получаю, когда запускаю docker ps
, он видит это в столбце PORTS
5432/tcp
Когда я удаляю EXPOSE
из Dockerfile
и собираю это
FROM postgres
А затем создаю образ и передаю порт в командной строке docker run -p 5432:5432 -d postgres
, порт действительно отображается.Когда я запускаю docker ps
, я вижу 0.0.0.0:5432->5432/tcp
в столбце PORTS
.
Что я делаю не так?Как мне выставить порты в Dockerfile
таким образом, чтобы они отображались?