我有一个docker文件,当我运行docker compose build app时,这个工作正常,当我进入bash:docker exec -it project_1 /bin/bash
并尝试运行以下命令python main.py
时,我得到以下错误:
File "main.py", line 2, in <module>
import pandas as pd
ModuleNotFoundError: No module named 'pandas'
docker文件:
FROM python:3
ADD . /var/projects/app
WORKDIR /var/projects/app
COPY requirements.txt ./
RUN chown -R webapp /var/projects/ && chmod -R u+rX /var/projects/
RUN pip install --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
COPY . .
CMD [ "python", "./main.py" ]
EXPOSE 8004
dokcer-compose.yml:
version: '3.4'
volumes:
app:
driver: "local"
services:
app:
build:
context: ./
dockerfile: Dockerfile
ports:
- "8004:8004"
volumes:
- "./:/var/projects/app"
requirements.txt
numpy==1.18
pandas==1.0.1
怎么了
如果您正在运行docker compose,那么应该使用
docker-compose exec <service_name> /bin/bash -l
而不是docker exec命令。docker exec将在一个新容器中运行bash提示符,而docker compose将查找已经运行的容器(可能包含所有依赖项)相关问题 更多 >
编程相关推荐