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

本文介绍如何在Docker容器中运行CentOS7环境并执行Python定时任务。通过多次尝试,包括使用systemctl、编写启动脚本等方法,最终实现目标。文章详细记录了每一步的实施过程和技术细节。
部署运行你感兴趣的模型镜像

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

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值