当前位置:   article > 正文

docker如何启动容器并执行容器内脚本_容器里面执行脚本

容器里面执行脚本

1.问题描述:

启动docker容器后,执行容器内脚本

2.案例需求:

现在需要用docker起一个centos7的环境,安装一个pyhton,跑一个定时任务,当时执行脚本。

3.解决:

开始尝试 使用systemctl 启动crond 执行pyhton项目脚本,结果docker容器中没有systemctl

注:如想在容器内使用systemctl,在启动容器时需加权限 如:docker run --privileged -idt -p 10028:8080  --name graph graph:v2 /usr/sbin/init && docker exec -it graph /bin/bash -c 'nginx && systemctl start mariadb ' && docker exec -i graph bash /data/knowledge_graph/graph.sh

第二次尝试 写一个启动crond 的脚本,放到/etc/init.d目录下,docker容器启动后会执行该目录下脚本,但没有生效

第三次 

写一个启动crond 的脚本,使用  docker exec -it 【容器名或id】bash 执行

docker run -idt --name green -v /data/log:/root/log green:latest && docker exec -it green bash /root/crondtask.sh

docker run 启动容器,并执行容器中crondtask.sh

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/401099
推荐阅读
相关标签
  

闽ICP备14008679号