У меня есть следующий докер-файл: создания сообщенияКак получить контейнер Ip из другого контейнера?
version: '2'
services:
node:
build: ./node/
ports:
- "3000:3000"
volumes:
- ~/src/api:/code
links:
- postgres
environment:
- NODE_ENV=dev
- POSTGRES_ADDRESS=postgres
postgres:
build: ./postgres/
ports:
- "8000:5432"
environment:
- POSTGRES_PASSWORD=pw
volumes:
- ~/Postgres/data/:/var/lib/postgresql/data
Но когда я достигаю process.env.POSTGRES_ADDRESS в моих nodejs, он возвращает 'Postgres'. Так я всегда это делал, и он должен вернуть ip-адрес контейнера postgres.
Любые предложения о том, как я могу получить доступ к контейнеру postgres ip?
Зачем нужен контейнер IP? вы всегда можете получить доступ к имени контейнера, например 'postgres' в вашем примере. Может быть, нужно переименовать этот вопрос в «как получить контейнер Ip из другого контейнера?» потому что переменная env не может динамически конвертировать имя контейнера в ip-адрес –
, и если вам нужно получить ip-адрес от имени хоста, вы можете использовать nslookup: 'nslookup postrges' –
Вы абсолютно правы. Спасибо. Я думал, что я явно нуждаюсь в ip для этого, чтобы работать в моем приложении nodejs. – mrlarssen