执行sh脚本文件后如何防止docker容器停止

时间:2020-05-14 21:12:21

标签: bash shell docker docker-compose dockerfile

im运行如下所示的docker容器,在执行sh文件后,容器默认情况下终止,我如何保持容器在后台工作

来自docker文件的样本

#=========================
# Copying Scripts to root
#=========================
COPY entry_point.sh \
 /root/

RUN chmod +x /root/entry_point.sh

#=======================
# framework entry point
#=======================
CMD /root/entry_point.sh

entry_point.sh文件

function clone_repo() {
mkdir /root/repo
git clone git@github.com:test/tests.git /root/repo && \
rm -rf /root/.ssh
}

clone_repo 

这是im用来初始化容器的命令

docker run -p 5900:5900 --name mycontainer--privileged amrka/image

2 个答案:

答案 0 :(得分:0)

这就是docker容器的工作方式,当应用程序死亡时,它消失了。 为什么需要它来维持生命? 它会做什么? 如果只想拥有,可以例如在文件末尾运行sleep 10000000,这样它将保留容器,但是为什么呢? 如果要按计划执行任何Tas,则可以使用任何cron映像。

答案 1 :(得分:0)

通过删除 entry_point 解决