首页 > 解决方案 > 如何从同一终端中停止正在运行的 Docker 容器?

问题描述

我已经构建了一个Dockerfile以编译我的(Golang)代码然后运行编译的二进制文件结束:

# Compile my Go code
RUN go build -o bin *.go

# Run the binary
CMD /root/src/whisky/bin

构建图像 ( docker build -t whisky .) 后,我运行图像 ( docker run --name whisky whisky_image),程序开始在终端中输出。

当我从笔记本电脑运行程序时,我总是可以使用 停止它CTRL+C,但现在它在容器内运行并且点击CTRL+C没有任何作用。容器只是不断地提供输出,没有任何停止。

我仍然可以从另一个终端停止容器docker stop whisky,但我想应该有更好的方法。

有人知道在容器中停止命令或从同一终端停止整个容器的推荐方法吗?

[编辑]

从给出的答案中,我了解到我可以使用分离模式运行容器-d,然后使用docker logs container_id --follow. 虽然这可行,但我更喜欢直接运行容器(在非分离模式下),因为这样我就不会犯在后台运行它而忘记它的错误。

有谁知道我如何以一种可以通过点击从同一个终端停止它的方式运行容器CTRL+C

标签: linuxdocker

解决方案


你可以在分离模式下使用'-d'-->

[编辑] 添加。之后,您可以使用尾随日志

docker logs container_id --follow

推荐阅读