docker如何启动容器并执⾏容器内脚本
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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论