
В настоящее время вы используете docker compose, что означает уже использование нескольких контейнеров.
Однако, если необходимо передать контейнер A с контейнером B, как это сделать?
Решение очень простое. Ответ — настройки ссылок. Давайте посмотрим на примерах.
Предположим, у вас есть docker-compose.yml, как показано ниже:
version: “3.7”
services:
nodejs:
build:
context: .
dockerfile: Dockerfile
ports:
- “80:80”
networks:
- overlay
nodejs2:
build:
context: ./db
dockerfile: Dockerfile2
ports:
- “90:90”
networks:
- overlay
networks:
overlay:
Если вам нужно получить доступ к контейнеру nodejs в контейнере nodejs2, добавьте ссылки в настройках nodejs и добавьте имя службы (nodejs2) под ссылками.
nodejs:
build:
context: .
dockerfile: Dockerfile
ports:
- “80:80”
networks:
- overlay
links:
- nodejs2
# Add like this then you can access nodejs app using http://nodejs2:90 in app.
# completed docker-compose.yml
version: “3.7”
services:
nodejs:
build:
context: .
dockerfile: Dockerfile
ports:
- “80:80”
networks:
- overlay
links:
- nodejs2
nodejs2:
build:
context: ./db
dockerfile: Dockerfile2
ports:
- “90:90”
networks:
- overlay
networks:
overlay: