Pandas 在 Docker 运行 命令中找不到 [附加卷]
Pandas not found in Docker Run Command [attaching volumne]
当我使用以下命令构建 docker 图像并 运行 它时:
docker build -t iter1 .
docker run -it --rm --name iter1_run iter1
我的应用程序 运行 很好。但是,当我尝试附加卷并执行以下命令时:
docker run -it --rm --name iter_run -v /Users/xxxx/Desktop/Docker_Builds/SingleDocker/xxxxxx:/usr/src/oce -w /usr/src/oce python:3 python oce_test.py
找不到文件 oce_test.py Pandas。
Traceback (most recent call last):
File "oce_test.py", line 1, in <module>
import pandas as pd
ModuleNotFoundError: No module named 'pandas'
我的Dockerfile内容如下:
# Docker image
FROM python:3
# Copy requirements
COPY requirements.txt /
# Install Requirements
RUN pip install -r /requirements.txt
# Copy scripts needed for execution
COPY ./xxxx /usr/src/oce
# Establish a working directory
WORKDIR /usr/src/oce
# Execute required script
CMD ["python", "oce_test.py"]
我的requirements.txt内容如下:
numpy==1.18.1
pandas==1.0.1
matplotlib==3.1.3
scipy==1.4.1
Python-dateutil==2.8.1
David Maze 回答了这个问题:
你的 docker 运行 命令是 运行 一个没有安装额外包的普通 python:3 图像。如果您想使用 Dockerfile 中的图像,但使用主机中的任意内容覆盖图像中的应用程序代码,请改用图像名称 iter1。 (您不需要重复图像的 WORKDIR 或 CMD 作为 docker 运行 选项。)
当我使用以下命令构建 docker 图像并 运行 它时:
docker build -t iter1 .
docker run -it --rm --name iter1_run iter1
我的应用程序 运行 很好。但是,当我尝试附加卷并执行以下命令时:
docker run -it --rm --name iter_run -v /Users/xxxx/Desktop/Docker_Builds/SingleDocker/xxxxxx:/usr/src/oce -w /usr/src/oce python:3 python oce_test.py
找不到文件 oce_test.py Pandas。
Traceback (most recent call last):
File "oce_test.py", line 1, in <module>
import pandas as pd
ModuleNotFoundError: No module named 'pandas'
我的Dockerfile内容如下:
# Docker image
FROM python:3
# Copy requirements
COPY requirements.txt /
# Install Requirements
RUN pip install -r /requirements.txt
# Copy scripts needed for execution
COPY ./xxxx /usr/src/oce
# Establish a working directory
WORKDIR /usr/src/oce
# Execute required script
CMD ["python", "oce_test.py"]
我的requirements.txt内容如下:
numpy==1.18.1
pandas==1.0.1
matplotlib==3.1.3
scipy==1.4.1
Python-dateutil==2.8.1
David Maze 回答了这个问题:
你的 docker 运行 命令是 运行 一个没有安装额外包的普通 python:3 图像。如果您想使用 Dockerfile 中的图像,但使用主机中的任意内容覆盖图像中的应用程序代码,请改用图像名称 iter1。 (您不需要重复图像的 WORKDIR 或 CMD 作为 docker 运行 选项。)