@domanskiy

Как в docker связать новый контейнер с существующими?

У меня есть работающие 3 контейнера
abc4a396878a   dpage/pgadmin4   "/entrypoint.sh"         4 weeks ago   Up 41 hours   443/tcp, 0.0.0.0:5555->80/tcp   pgAdmin_cont
9063ca5b49af   app_app          "python main.py"         4 weeks ago   Up 41 hours   0.0.0.0:5050->5050/tcp          app_flask_api
476cc4dffe86   postgres:13      "docker-entrypoint.s…"   4 weeks ago   Up 41 hours   0.0.0.0:6532->5432/tcp          postgres_cont

Мне нужно создать билд и еще один контейнер.
Dockerfile
FROM python:3.8

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# set work directory
RUN mkdir /app
WORKDIR /app
COPY . /app

ENV FASTAPI_ENV = "app"
# install dependencies

RUN pip install --upgrade pip
RUN pip install -r req.txt
RUN pip install -r req.txt

VOLUME .:/app

EXPOSE 8000
CMD ["python", "main.py"] 
# порт и пр прописаны в конфигах main.py


docker-compose.yml
version: '3.8'
services:
  app_fastapi:
    container_name: "app_fastapi"
    build:
      context: ./
      dockerfile: Dockerfile
    volumes:
      - .:/app
    ports:
      - 8000:8000
    entrypoint: ["python", "main.py"]
    restart: unless-stopped


Имидж создаётся. Контейнер создаётся и запускается. НО! нет доступа из вне. Нет у нового контейнера доступа к контейнеру с БД Postgre
Как это исправить?
Писать новый docker-compose.yml на все четыре контейнера?
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
У docker exec и docker run есть опция --link соответствeнно в композе есть links:
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы