【问题标题】:Use python packages from another docker container使用来自另一个 docker 容器的 python 包
【发布时间】:2021-02-18 00:05:35
【问题描述】:

如何使用来自另一个容器的 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"]

【问题讨论】:

    标签: python django docker docker-compose


    【解决方案1】:

    您应该能够使用ydk-py 作为基础镜像来构建您的应用程序

    FROM ydkdev/ydk-py:latest
    ...
    

    【讨论】:

    • 我应该澄清为什么我想在自己的容器中拥有webserverydk-py。原因是ydk-py 在 Ubuntu 16.04 中运行并安装了旧版本的 python3,该版本将于 2021 年 1 月弃用。现在我可以轻松升级 python 版本,但不确定是否可以/容易升级底层 Ubuntu 版本!
    • ydk-py 是开源的,你可以用更新的版本重建它github.com/CiscoDevNet/ydk-py
    • 我试试看。感谢您的帮助:)
    猜你喜欢
    • 1970-01-01
    • 2020-12-19
    • 2017-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    • 2022-01-11
    相关资源
    最近更新 更多