Docker exec启动脚本文件中有nohup导致操作无效

Posted 云灬沙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker exec启动脚本文件中有nohup导致操作无效相关的知识,希望对你有一定的参考价值。

在写docker exec的时候遇到了个大坑
进入docker操作的命令可以随便执行,但是在docker exec里写就没有任何反应
我的问题出在自己的脚本文件
问题一:
自己写的脚本开头

#!/bin/sh

改为

#!/bin/bash

问题二:
nohup出了问题,nohup默认输出为nohup.out,但是使用docker exec 在外面就不自己生成,必须自己指定一个

nohup Jiaoben >my.out 2>&1 &

问题三:
执行多个前后依赖的脚本
命令虽然跑了,但是并没有跑完,所以需要等一下

sleep 10s

问题四:
docker exec指令写的不对

docker exec -it containername bash

问题出在参数 -it
可以使用以下命令查看用法

docker exec -h

所以需要使用
-d参数,后台执行

还有很多坑,自己完整写了Dockerfile,Docker-compose,启动脚本等,有时间分享,有问题可以直接留言~

以上是关于Docker exec启动脚本文件中有nohup导致操作无效的主要内容,如果未能解决你的问题,请参考以下文章

Docker exec启动脚本文件中有nohup导致操作无效

Jenkins 在 Windows 上使用 Docker - 无法运行程序“nohup”

docker容器启动自动启动shell脚本

运行docker容器时出错:启动容器进程导致“exec:”python “:$ PATH中找不到可执行文件”:未知

nohup 后台运行命令

shell脚本中用nohup启动3个进程,输入回车后会有一或两个进程被杀掉,是啥原因?