python - 如何在 Docker CMD 中链接 python 和 S3 命令?
问题描述
我正在尝试在Dockerfile
使用 CMD 时链接多个命令。我有 2 个需要按顺序运行的 python 脚本,然后我正在对这 2 个脚本创建的文件进行 S3 同步。
我的码头工人命令:
CMD [ "python", "code/py_script1.py", "&&" ,"code/py_script2.py", "&&", "aws s3 sync /files s3://test_container/test/"]
第一个脚本成功运行,然后容器终止。我不确定如何链接命令。
我可以将这些命令作为命令行参数传递。有没有办法我可以创建一个 .sh 文件,放置所有这些命令并简单地执行 .sh 文件,该文件将负责按顺序运行这些命令。
请建议是否还有更好,更有效的方法。谢谢你。
解决方案
是的,您可以创建一个.sh
脚本并在 Docker 中简单地使用它。假设您已经将 shell 脚本与Dockerfile
. 将以下两行添加到Dockerfile
:
COPY path/to/your-shell-script.sh /your-shell-script.sh
CMD [ "/your-shell-script.sh" ]
要按顺序运行命令,您可以使用set -e
或&&
。我更喜欢set -e
.
#! /bin/sh
set -e
python code/py_script1.py
python code/py_script2.py
aws s3 sync /files s3://test_container/test/
&&
版本:
#! /bin/sh
python code/py_script1.py && \
python code/py_script2.py && \
aws s3 sync /files s3://test_container/test/
推荐阅读
- css - 为什么我的伪元素的过渡会有延迟?
- flutter - 颤振问题文本小部件显示错误未显示
- r - 为什么 str_count 不能处理多个字符串?
- python - 如何评估预训练模型 Tensorflow 对象检测 API
- python - 由于 cmake 错误,无法安装 python 包
- django - 在生产 django 中播种数据的正确方法
- c++ - ofstream 没有正确命名创建的文件
- python - django - 我可能搞砸了我的 setting.py 文件还是我的代码有问题?
- swift - 添加切换以列出 SwiftUI 并在用户登录时保存切换状态
- salesforce - 有没有办法解决 List 的非法转换
列出 在 SForce Apex 中?