我已经创建了一个以编译我的(Golang)代码并运行已编译的二进制文件结束的
在构建了镜像后(
当我从我的笔记本电脑上运行程序时,我可以随时使用
我仍然可以从另一个终端
有人知道在容器中停止命令或在同一终端中停止整个容器的推荐方法吗?
[编辑]
根据提供的答案,我学到我可以使用
有人知道如何以一种方式运行容器,可以通过按
Dockerfile
:# 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
在同一终端中停止它吗?
docker run -it my_image
? - AdiiiCtrl+C
将停止容器。 - 4xy-it
吗?这有帮助吗? - funnydman