如何在.sh脚本中对多个python脚本进行Docker化?

时间:2018-09-05 08:58:50

标签: docker docker-compose dockerfile

我有一个包含多个python脚本的shell脚本(一个接一个地运行,而不是并行运行)。我需要知道如何对它进行docker化?

这是我的shell脚本(它接受path的一个参数)-

#!/bin/bash
#parameter from shell
parameter_directory="$1"
# Python script 1
python script1.py --outpath $parameter_directory

# Python script 2
python script2.py $parameter_directory 

# Python script 3
python script3.py $parameter_directory

#Python script 4
python script4.py $parameter_directory

#Python script 5
python script5.py $parameter_directory

#Python script 6
python script6.py $parameter_directory 

1 个答案:

答案 0 :(得分:1)

您必须创建一个包含所有文件和Shell脚本的文件夹。假设外壳程序脚本名为entrypoint.sh。该目录将如下所示:

Dockerfile
entrypoint.sh
script1.py
script2.py
script3.py
script4.py
script5.py
script6.py

请注意,这里有一个Dockerfile,其中将包含以下信息:

FROM python:2-slim
WORKDIR /app
ADD . /app
ENTRYPOINT ["./entrypoint.sh"]

使用以下命令构建docker映像:

docker build -t python-sandbox .

最后,使用以下命令在容器中运行您创建的图像:

docker run -ti --rm --volume parameter_directory:/parameter_directory python-sandbox /parameter_directory

请注意,Windows和Mac在装入卷方面存在一些限制。

Docker: Sharing a volume on Windows with Docker Toolbox