Docker从连接的容器中退出
我现在正在学习docker的基础知识,并坚持这一点: 我创建了一个docker容器:Docker从连接的容器中退出,docker,containers,Docker,Containers,我现在正在学习docker的基础知识,并坚持这一点: 我创建了一个docker容器: docker container run -d -t --name t_d_container linux fd91f24a79e007d3676b2ab2344b34765829b918672abf4c7995836ad68d0f35 docker container ls -a CONTAINER ID IMAGE COMMAND C
docker container run -d -t --name t_d_container linux
fd91f24a79e007d3676b2ab2344b34765829b918672abf4c7995836ad68d0f35
docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fd91f24a79e0 oraclelinux "/bin/bash" 6 seconds ago Up 5 seconds t_d_container
docker container attach t_d_container
[root@fd91f24a79e0 /]# exit
但当我从容器中退出时,它会一直运行,并等待我提供输入。所以我每次都要按CTRL+C组合键
然后,我试着
docker container exec -it t_d_container /bin/bash
正如所料,现在有2个进程正在为bash运行:
[root@fd91f24a79e0 /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 06:49 pts/0 00:00:00 /bin/bash
root 27 0 0 07:08 pts/1 00:00:00 /bin/bash
有没有其他方法可以从后台运行的容器中退出
我进一步挖掘。连接到容器后,我无法在连接的容器上执行任何命令
docker container attach ac9d50c03304
[root@ds001 /]# hostname
它就在那里等着我按CTRL+C。DockerVersion:19.03.9如果您以交互模式启动容器(-It),请依次尝试以下步骤:
Ctrl+p
Ctrl+q
如果您已在deamon模式(-d)下启动容器并将其连接到它,则可以退出它,它仍将在后台运行 如果您以交互模式(-it)启动容器,请依次尝试以下步骤:
Ctrl+p
Ctrl+q
如果您已在deamon模式(-d)下启动容器并将其连接到它,则可以退出它,它仍将在后台运行 那么
docker-stop
呢?docker-container-stop成功地停止了容器。但我不想在出口处停下集装箱。我想让它在后台运行。这能回答你的问题吗?没有。。。我想让容器一直运行。停止按名字说的做。你真的点击了链接并阅读了吗?我阅读了你的评论,理解了你在寻找什么,并提供了与我第一次评论不同的解决方案。docker stop呢?docker container stop成功地停止了容器。但我不想在出口处停下集装箱。我想让它在后台运行。这能回答你的问题吗?没有。。。我想让容器一直运行。停止按名字说的做。你真的点击了链接并阅读了吗?我阅读了你的评论,理解了你在寻找什么,并提供了与我第一次评论不同的解决方案。如果我使用Citrix连接到远程服务器,这将不起作用。此外,当您尝试在连接的容器上运行任何命令时,它们根本不起作用。我必须按CTRL+C退出容器。实际上,您可以通过其ID/Name:docker exec-it echo“Hello container!”在正在运行的容器中运行任何命令。但如果您的容器处于停止状态,则需要首先启动它。假设您要在容器上构建db服务器。您必须保持24小时的运行。此外,应该启用容器的shell登录以执行sql命令。因此,我在这里尝试构建一个容器,该容器将始终与托管在其上的oracle DB一起运行,其他团队成员应该拥有shell访问权限来管理DB,而不是每次都运行docker container exec。docker exec-it bash
(或任何可用的shell…)允许您对已运行db的容器进行shell访问。如果我使用Citrix连接到远程服务器,则此操作无效。此外,当您尝试在连接的容器上运行任何命令时,它们根本不起作用。我必须按CTRL+C退出容器。实际上,您可以通过其ID/Name:docker exec-it echo“Hello container!”在正在运行的容器中运行任何命令。但如果您的容器处于停止状态,则需要首先启动它。假设您要在容器上构建db服务器。您必须保持24小时的运行。此外,应该启用容器的shell登录以执行sql命令。因此,我在这里尝试构建一个容器,该容器将始终与托管在其上的oracle DB一起运行,其他团队成员应该拥有shell访问权限来管理DB,而不是每次都运行docker container exec。docker exec-it bash
(或任何可用的shell…)允许您对已经运行db的容器进行shell访问。