Я относительно новичок в docker. Я пытался составить файл ниже:
version: "3"
services:
postgres:
restart: always
image: postgres
ports:
- "5432:5432"
environment:
- POSTGRES_DB=test_db
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD_FILE=/run/secrets/postgres-passwd
volumes:
- test_db:${PWD}
pgweb:
restart: always
image: sosedoff/pgweb
ports:
- "8081:8081"
environment:
- DATABASE_URL=postgres://postgres:POSTGRES_USER@POSTGRES_PASSWORD_FILE:5432/POSTGRES_DB?sslmode=disable
depends_on:
- postgres
volumes:
test_db:
Я пытаюсь подключить том test_db к моему текущему рабочему каталогу, используя переменную среды $ PWD. Когда я запускаю docker-compose up
в своем терминале, я получаю следующее предупреждение:
The PWD variable is not set. Defaulting to a blank string.
Теперь важно отметить, что в настоящее время я использую Ubuntu, работающий на WSL2 на windows 10. Еще одна вещь, на которую стоит обратить внимание: что я бегу ZSH, а не BASH.
Я выполнил точные шаги, упомянутые в документации .
Я также проверил другой вопрос , который, казалось, был похож на мой, но не совсем так, как можно было заменить ${PWD}
на ./
, который просто не работает в моем case.
При использовании ./
вместо $PWD
я получаю следующую ошибку:
for pg_test_postgres_1 Cannot create container for service postgres:\
invalid volume specification: 'pg_test_test_db:.:rw': invalid mount config\
for type "volume": invalid mount path: '.' mount path must be absolute