首页 > 解决方案 > 使用来自另一个 docker 容器的 python 包

问题描述

如何使用来自另一个容器的 python 包?

ydk-py设置了我需要的一切,包括所有 python 包及其依赖项。我想在我的 django 应用程序中使用这些 python 包。但是 python 导入安装在我的主容器中的包web,而不是ydk-py.

码头工人撰写:

version: '3.7'

services:
  web:
    container_name: webserver
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code/
    ports:
      - 8000:8000
    env_file:
      - .env.dev
    depends_on:
      - db

  db:
    container_name: database
    image: postgres:13.0-alpine
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    env_file:
      - .env.dev

  ydk-py:
    container_name: ydk-py
    image: ydkdev/ydk-py:latest
    tty: true

volumes:
  postgres_data:

Dockerfile:

FROM python:3.6.12-alpine

WORKDIR /code

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

RUN apk update && apk add jpeg-dev zlib-dev postgresql-dev gcc python3-dev musl-dev

RUN pip install --upgrade pip
COPY ./requirements.txt /code/requirements.txt
RUN pip install -r requirements.txt

COPY ./entrypoint.sh /code/entrypoint.sh

COPY . /code

ENTRYPOINT ["sh", "/code/entrypoint.sh"]

标签: pythondjangodockerdocker-compose

解决方案


您应该能够将其ydk-py用作基础映像来构建您的应用程序

FROM ydkdev/ydk-py:latest
...

推荐阅读