如何从dockerfile运行bash脚本

2024-05-12 15:49:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用bash脚本(run.sh)来运行python文件(calculate_ssp.py)。代码运行良好。文件夹结构如下所示

├── dataset
    └── dataset_1.csv
├── Dockerfile
├── __init__.py
├── output
├── run.sh
├── scripts
│   ├── calculate_ssp.py
│   ├── __init__.py

bash脚本是

#!/bin/bash

python3 -m scripts.calculate_ssp 0.5

现在,我正在尝试从Dockerfile运行bash脚本(run.sh)。Dockerfile的内容是

#Download base image ubuntu 20.04
FROM ubuntu:20.04

#Download python
FROM python:3.8.5

ADD run.sh .

RUN pip install pandas
RUN pip install rdkit-pypi

CMD ["bash", "run.sh"]

但是,我得到一个错误/usr/local/bin/python3: Error while finding module specification for 'scripts.calculate_ssp' (ModuleNotFoundError: No module named 'scripts')

您能告诉我为什么会出现错误(因为bash脚本中的代码运行良好)


Tags: runpydockerfile脚本bashbininitdownload
1条回答
网友
1楼 · 发布于 2024-05-12 15:49:17

您需要在映像中打包脚本所需的所有文件。您可以删除Ubuntu基本映像,因为它没有被使用。(基础映像python基于已经提供bash的其他映像。)

#Download python
FROM python:3.8.5

RUN pip install pandas
RUN pip install rdkit-pypi

ADD run.sh .
ADD scripts/ ./scripts

CMD ["bash", "run.sh"]

相关问题 更多 >