Windows SSH 上的 Docker 并未分离,尽管使用 -d 标志运行

问题描述 投票:0回答:1

我有一个正在运行的 Windows Server,我可以通过 ssh 连接到该服务器。 如果我随后使用以下命令启动 Docker Desktop 和 Docker 容器:

docker run -d --name pg-test -e POSTGRES_DB=testdb -e POSTGRES_USER=testuser -e POSTGRES_PASSWORD=test -e PGDATA=/var/lib/postgresql/data/pgdata -e POSTGRES_INITDB_ARGS="--encoding=UTF-8 --lc-collate=C --lc-ctype=C" -v testDbPostGres:/var/lib/postgresql/data -p 5432:5432 postgres:latest

如果我关闭 ssh 连接,它会自动关闭。

为什么会出现这种情况?

docker windows-server
1个回答
0
投票

发生这种情况是因为您启动的 Docker 容器在后台运行并附加到您的 SSH 会话。当您关闭 SSH 连接时,会话将结束,并且附加到它的所有进程(包括 Docker 容器)都将终止。

为了防止关闭 SSH 连接时 Docker 容器关闭,可以使用 nohup 命令将进程与会话分离,也可以使用 screen 或 tmux 等工具创建一个可分离的持久会话,稍后重新连接。这些方法允许 Docker 容器即使在关闭 SSH 连接后也能继续运行。

© www.soinside.com 2019 - 2024. All rights reserved.