标签:容器 启动 sh centos7 init systemctl jenkins
centos7容器使用systemctl启动服务的方法
1.实现思路
思路:centos7想以systemctl命令启动,就需要开启init进程,init进程必须在系统启动的时候开启,作为第一个进程,init无法在脚本中启动,因此只能是将容器的启动命令设置成/usr/sbin/init,然后将启动服务的命令写成脚本,然后把执行脚本的命令写入/etc/rc.local中,这样就可以在centos7容器中使用systemctl启动服务了
这种方法特别适合那种喜欢把一个容器做成一个小的VMware虚拟机
以下操作都在容器中执行
2.编写服务启动脚本
1.写脚本
[root@e31b4d686cda ~]# vim /data/entrypoint.sh
#!/bin/bash
systemctl start jenkins
systemctl enable jenkins
tail -f /var/log/jenkins/jenkins.log
[root@e31b4d686cda ~]# chmod a+x /data/entrypoint.sh
2.将启动脚本加到/etc/rc.local文件里,当系统启动时就执行此脚本
[root@e31b4d686cda ~]# vim /etc/rc.local
sh /data/entrypoint.sh
3.编写Dockerfile封装启动命令
[root@k8s-node2 ~/docker-jenkins]# vim Dockerfile
FROM jenkins-centos7:v2-plugin
CMD ["/usr/sbin/init"]
4.构建镜像
[root@k8s-node2 ~/docker-jenkins]# docker build -t jenkins-centos:v2.kxjy.plugins .
Sending build context to Docker daemon 80.78MB
Step 1/2 : FROM jenkins-centos7:v2-plugin
---> 118f358b11b2
Step 2/2 : CMD ["sh","/data/entrypoint.sh"]
---> Running in 667d8ec5d936
Removing intermediate container 667d8ec5d936
---> 4349bb5984f0
Successfully built 4349bb5984f0
Successfully tagged jenkins-centos:v2.kxjy.plugins
标签:容器,启动,sh,centos7,init,systemctl,jenkins 来源: https://blog.csdn.net/weixin_44953658/article/details/118085684
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。