В настоящее время вы используете 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: