如何使用Docker将图形工具附加到Django

如何使用Docker将图形工具附加到Django,django,docker,docker-compose,graph-tool,Django,Docker,Docker Compose,Graph Tool,我需要在Django项目中使用一些图形工具计算。因此,我开始使用docker pull tiagopeixoto/graph tool,然后将其添加到我的docker compose文件中: version: '3' services: db: image: postgres graph-tool: image: dcagatay/graph-tool web: build: . command: python3 manage.py runse

我需要在Django项目中使用一些图形工具计算。因此,我开始使用
docker pull tiagopeixoto/graph tool
,然后将其添加到我的docker compose文件中:

version: '3'

services:

  db:
    image: postgres

  graph-tool:
    image: dcagatay/graph-tool

  web:
    build: .
    command: python3 manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db
      - graph-tool
当我
up
我的docker创作时,我得到了一行:

project_graph-tool_1_87e2d144b651 exited with code 0
最后,当Django项目启动时,我无法从graph tool导入模块,如:

from graph_tool.all import *
如果我尝试直接在此docker映像中使用:

docker run -it -u user -w /home/user tiagopeixoto/graph-tool ipython
一切顺利。
我做错了什么?如何修复它并最终将graph tool附加到Django?谢谢

与其为graphtool使用单独的docker图像,不如在Django使用的相同的
Dockerfile
中使用它。例如,更新当前的
Dockerfile

FROM ubuntu:16.04  # using ubuntu image

ENV PYTHONUNBUFFERED 1
ENV C_FORCE_ROOT true

# python3-graph-tool specific requirements for installation in Ubuntu from documentation
RUN echo "deb http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list && \
echo "deb-src http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list

RUN apt-key adv --keyserver pgp.skewed.de --recv-key 612DEFB798507F25

# Install dependencies
RUN apt-get update \
    && apt-get install -y python3-pip python3-dev \ 
    && apt-get install --yes --no-install-recommends --allow-unauthenticated python3-graph-tool \
    && cd /usr/local/bin \
    && ln -s /usr/bin/python3 python \
    && pip3 install --upgrade pip

# Project specific setups 
# These steps might be different in your project
RUN mkdir /code
WORKDIR /code
ADD . /code
RUN pip3 install -r requirements.pip
现在也更新docker compose文件:

version: '3'
services:
  db:
    image: postgres
  web:
    build: .
    container_name: djcon  # <-- preferred over generated name
    command: python3 manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db
版本:“3”
服务:
db:
图片:博士后
网状物:
生成:。

容器名称:djcon#我在graphtool下看到构建和图像。如果您只使用映像,请删除生成属性。@AndreiDumitrescu Tudor已删除,仍以代码0退出,ModuleNotFoundError:没有名为“graph\u tool”的模块