问题
azkaban编译问题
git clone 报错protocol error: bad pack header
jenkins上解决obs上传问题
wget 下载东西报证书错误
安装完jenkins后发现时区不对
本地刷新excel执行脚本报错解决
记录同网段的两个服务器可以使用内网ping通,但是具体服务访问失败问题
解决一个服务器搭建两个网站后,只有一个域名,通过域名访问两个网站
利用配置yum源安装redis后,启动失败报:Could not connect to Redis
使用sftp上传报错:没有权限
在linux数据库命令框中修改密码后,navicat等连接还是只能使用原密码连接
编译pika报error: unrecognized command line option '-m
编译pika报make: *** [Makefile:229: /opt/pika/third/ro
pip 安装依赖太慢问题
debian如何换源问题
adb删除手机自带软件报错
容器自动退出问题
解决域名通过nginx访问无法上传附件报错
解决http利用nginx重定向至https的问题
解决win下文件或文件夹无法删除问题
nginx实现负载均衡及轮询
-
+
首页
容器自动退出问题
## 容器自动退出问题 - what: 容器自动退出问题 - where: centos7 - when: 2022.3.29 - who: jiaorongtao - why: 记录 - how: ### 方法1: 在文件最后添加如下,保证执行完转换命令,服务终止后容器不退出,在重新构建镜像。 ``` while :; do sleep 300 done 1641796113618 ``` ## 方法2: ``` 在dockerfile中增加CMD [" &"],就是构建镜像时cmd会把 &后台执行 传递给entrypoint,使其后台执行 ``` ### 知识扩展 #### 解决思路 ``` 容器如果执行完命令就自动退出(一般来说我们写的shell脚本不会去处理信号,系统不会把命令转化为进程),主要思路是给容器一个永远也无法完成的任务 ``` ### 参考链接 ``` https://blog.csdn.net/zhuchunyan_aijia/article/details/81143481?utm_source=blogxgwz1 https://www.cnblogs.com/shaoyang0123/p/13336708.html libreoffice是否有类似后台执行的命令 经过查找,启动是命令后加&保持后台执行,容器不退出 soffice -headless -accept=“socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard & entrypoint.sh脚本中exec "$@"含义 这个命令的意义在于你已经为你的镜像预想到了应该有的调用情况,当实际使用镜像的人执行了你没有预料到的可执行命令时, 将会走到脚本的这最后一行, 去执行用户新的可执行命令。 exec是在当前进程空间执行新的程序,因为docker容器的主进程非常重要,比如一些docker stop/restart等生命周期管理的命令会向它发送信号,所以需要使用当前主进程执行程序,一般来说我们写的shell脚本不会去处理信号,所以要替换为程序,比如nginx/php-fpm等等. 总结:它基本上接受所有额外的命令行参数,并将它们作为命令执行。目的基本上是“在此.sh脚本中执行所有操作,然后在同一shell中运行用户在命令行中传递的命令”。 总结:exec "$@"就是docker的CMD ```
JRT
2022年3月29日 19:16
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码