Причина: Postgres БД не работает, поскольку вы переопределяете значение по умолчанию CMD
, которое просто запускает клиент Postgres (psql
), а не сервер БД. для сервера БД аргумент должен быть postgres
.
docker run -i --rm -e PGPASSWORD=12qw --network=host postgres:10.9 postgres
Поскольку ваша команда не запускает сервер Postgres, но есть только клиент Postgres, который пытается соединиться с localhost контейнера, а сервер Postgres неБег. это будет иметь смысл, например
docker run -i --rm postgres:10.9 psql -h remote-server -p 5432 -U postgres -d postgres
Для запуска сервера Postgres вам нужно только
docker run -e POSTGRES_PASSWORD=12qw -e POSTGRES_DB=test -p 5432:5432 -d postgres:10.9
, а затем подключиться к БД после того, как БД будет запущена.
Еще одна важная вещь - любой аргументпереданная команде run будет рассматриваться как аргумент серверу postgres, например
docker run -i --rm postgres:10.9 --version