RUN
инструкция в Dockerfile используется для запуска команды внутри контейнера во время сборки, а не для запуска вашего контейнера. Обратитесь к документации .
Чтобы сделать сокет Unix доступным внутри вашего контейнера, укажите bind mount при запуске контейнера:
docker run -v /var/run/postgresql/.s.PGSQL.5432:/var/run/postgresql/.s.PGSQL.5432 yourapp:latest
Это сделает сокет /var/run/postgresql/.s.PGSQL.5432
на вашем хосте доступным внутри контейнера.
Вы также можете указать другой путь к хосту и контейнеру:
docker run -v /var/run/postgresql/.s.PGSQL.5432:/tmp/postgresql yourapp:latest
Примечание: /var/run/docker.sock
используется для связи с демоном Docker. Будьте осторожны с этим, поскольку доступ к демону Docker обеспечивает root доступ к вашей машине.