启动运行docker映像时如何设置运行bash文件

我想运行一个bash文件,每当我开始运行docker镜像,但是不知道如何在几个小时内完成这个工作。 我的bash文件看起来像,

#!/bin/bash while true; do echo "hello world" sleep 10 done 

所以我想到的是,当我开始运行docker的时候,bash文件也会在docker镜像里继续运行,在这种情况下,只要docker打开,bash文件就会完成它的工作。

如何设置? 我应该在Docker镜像中构build它吗? 或者我可以把bash文件放在run.sh中,所以Docker运行时会发生?

只需在Docker文件中复制COPY或ADD脚本文件,然后使用CMD命令来运行它。

例如,如果你将run.sh拷贝到/然后在你的dockerfile最后一行添加:

 CMD run.sh 

欲了解更多信息,请参考: https : //docs.docker.com/engine/reference/builder/并search“CMD”

确保文件具有正确的运行权限(否则,在COPY / ADD文件RUN chmod +x run.sh

概要:

 //Dockerfile // source image, for example node.js FROM some_image // copy run.sh script from your local file system into the image (to root dir) ADD run.sh / // add execute privillages to the script file (just in case it doesn't have) RUN chmod +x run.sh // default behaviour when containter will start CMD run.sh 

希望有帮助。

你的Dockerfile需要看这个

 FROM <base_image> ADD yourfile.sh / CMD ['/yourfile.sh']