当没有其他任何工作时,如何在不退出终端的情况下退出命令行进程 运行?
How do exit without quitting Terminal a command line process running when nothing else works?
我正在使用 Docker 并且我 运行 一个命令让我进入 Docker 的日志 - 看起来像。当我进入时,我无法回到 shell 提示符。我怀疑这可能与 com.docker.cli 相关,尽管 docker-docs 并没有对大胆的退出说太多。
我已经尝试了所有我能找到的东西,见列表。重现问题的方法是:
docker run -e MYSQL_ROOT_PASSWORD=mypassword mysql
按 Ctrl + opt (Alt) + T 会带来进程 运行ning。
尝试过
- 退出
- 退出()
- 退出 N
- Ctrl + C
- Ctrl + Z
- Ctrl + X
- Ctrl + \
- Ctrl + Q
- Ctrl + S
(上面有Ctrl,也有opt和cmd,没有cmd+Q
这将退出终端)
- q
- :q
- q!
- Ctrl + D
- q()
- 退出
- 回声 $ ?
- Esc
- !!
- 凯蒂猫^-^
所有这些和其他以及它们的完美组合。
我建议使用上面的命令重现 Docker 和终端的问题,然后找到一些解决方案。
我们的想法是了解更多关于终端中的此日志以及如何退出并返回到 shell 提示符的信息。
提前致谢!
听起来 运行 来自 tmux 对你来说可能是个不错的选择,除非我误解了你的意思。然后您可以退出并返回到 运行,而无需停止您从命令行启动的进程。
Run container in background using detached mode.
-d
docker run
命令的选项应该有效。
docker run -d -e MYSQL_ROOT_PASSWORD=mypassword mysql
这将在后台 运行 容器,检查其是否 运行ning 并使用 docker ps.
捕获容器 ID
现在要进入 运行ning 容器的 shell 使用 docker exec 命令。
docker exec -it <container-id> /bin/sh
要检查日志,请使用 docker logs <container-id>
命令,假设您使用默认的 json 文件日志驱动程序安装了 docker。
在单独的终端中 window、运行 docker ps
。在那里寻找 运行ning 容器的行,具有自动生成的名称和图像 mysql
。那是你手动docker run
.
的容器
仍然在那个单独的终端 window、运行 docker stop adjective_name
中生成容器名称(或者,等效地,12 位十六进制数字容器 ID)。这应该会在第一个终端 window 中带回 shell 提示符。然后您可以 docker rm adjective_name
清理停止的容器。
下次:
- 您可以显式
docker run --name
指定容器使用的名称;然后,您可以在所有 docker
命令中使用该名称。
- 您可以使用
docker run -d
在后台启动容器,然后docker logs container_name
查看它的日志。
- 您可以交替使用
docker run -it
将容器的标准输入连接到控制台,然后 Ctrl+C 应该可以工作通常。
您实际上不能在数据库服务器的控制台上进行太多输入,所以我通常建议在后台启动它。您可以使用主机上的普通 mysql
命令行客户端与其交互(确保添加 docker run -p
选项以使其端口可访问)。
我正在使用 Docker 并且我 运行 一个命令让我进入 Docker 的日志 - 看起来像。当我进入时,我无法回到 shell 提示符。我怀疑这可能与 com.docker.cli 相关,尽管 docker-docs 并没有对大胆的退出说太多。
我已经尝试了所有我能找到的东西,见列表。重现问题的方法是:
docker run -e MYSQL_ROOT_PASSWORD=mypassword mysql
按 Ctrl + opt (Alt) + T 会带来进程 运行ning。
尝试过
- 退出
- 退出()
- 退出 N
- Ctrl + C
- Ctrl + Z
- Ctrl + X
- Ctrl + \
- Ctrl + Q
- Ctrl + S
(上面有Ctrl,也有opt和cmd,没有cmd+Q 这将退出终端)
- q
- :q
- q!
- Ctrl + D
- q()
- 退出
- 回声 $ ?
- Esc
- !!
- 凯蒂猫^-^
所有这些和其他以及它们的完美组合。
我建议使用上面的命令重现 Docker 和终端的问题,然后找到一些解决方案。
我们的想法是了解更多关于终端中的此日志以及如何退出并返回到 shell 提示符的信息。
提前致谢!
听起来 运行 来自 tmux 对你来说可能是个不错的选择,除非我误解了你的意思。然后您可以退出并返回到 运行,而无需停止您从命令行启动的进程。
Run container in background using detached mode.
-d
docker run
命令的选项应该有效。
docker run -d -e MYSQL_ROOT_PASSWORD=mypassword mysql
这将在后台 运行 容器,检查其是否 运行ning 并使用 docker ps.
捕获容器 ID现在要进入 运行ning 容器的 shell 使用 docker exec 命令。
docker exec -it <container-id> /bin/sh
要检查日志,请使用 docker logs <container-id>
命令,假设您使用默认的 json 文件日志驱动程序安装了 docker。
在单独的终端中 window、运行 docker ps
。在那里寻找 运行ning 容器的行,具有自动生成的名称和图像 mysql
。那是你手动docker run
.
仍然在那个单独的终端 window、运行 docker stop adjective_name
中生成容器名称(或者,等效地,12 位十六进制数字容器 ID)。这应该会在第一个终端 window 中带回 shell 提示符。然后您可以 docker rm adjective_name
清理停止的容器。
下次:
- 您可以显式
docker run --name
指定容器使用的名称;然后,您可以在所有docker
命令中使用该名称。 - 您可以使用
docker run -d
在后台启动容器,然后docker logs container_name
查看它的日志。 - 您可以交替使用
docker run -it
将容器的标准输入连接到控制台,然后 Ctrl+C 应该可以工作通常。
您实际上不能在数据库服务器的控制台上进行太多输入,所以我通常建议在后台启动它。您可以使用主机上的普通 mysql
命令行客户端与其交互(确保添加 docker run -p
选项以使其端口可访问)。