&与 docker exec 一起使用时返回不正确的 pid



我当前正在使用nohup命令。

为了产生新的HyperLeDger Composer Rest服务器实例,我需要在Docker CLI容器中执行此类命令。这就是我现在这样做的方式:

# start an interactive terminal with cli container
docker exec -it cli bash
# start rest server with defined port number
nohup composer-rest-server -c <myCard> -p <myPort> &

这将使我返回与REST服务器的过程ID相关的PID。

但是,如果我这样做,

# run a process that is detached to start the rest server
docker exec -d cli composer-rest-server -c <myCard> -p <myPort> & 

将启动REST服务器,但是,返回的PID是不是REST服务器的PID。

为什么会发生这种情况?

ps:我需要PID稍后杀死产卵的REST服务器。

在您的第二个命令中,结束&docker exec本身上工作,而不是在容器内运行的过程。

既然您已经使用-d选项以独立模式运行了容器,那么为什么要把REST服务器放在后台?

最新更新