linux - 如何从同一终端中停止正在运行的 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
?
解决方案
你可以在分离模式下使用'-d'-->
[编辑] 添加。之后,您可以使用尾随日志
docker logs container_id --follow
推荐阅读
- python - 如何让 jinja2 独特的过滤器工作。(不按文档中的描述工作)
- angular - Angular ChangeDetection 不适用于带有 ChangeDetectionStrategy.OnPush 的按钮禁用属性
- django - 可以将电子邮件字段用作django rest框架的查找字段吗
- maven - 与 maven surefire 并行运行特定模块的测试
- r - R:匹配数据框列表中的特定元素并创建新数据框
- java - 无限循环停止文本字段接受输入
- groovy - 日期选择查询在 Cassandra 中未按预期工作
- javascript - File Input 不存储文件信息,只存储名称
- sql - SQL - 获取父值
- java - 当我按下按钮时,如何从不同的类开始方法?