小编def*_*ect的帖子

无法使用 Ctrl-C 停止我的 Docker 容器

我在使用 Ubuntu 映像的 Windows 10 上使用 WSL2,以及使用 WSL 集成的 Docker for Desktop Windows (2.2.2.0)。

我有一个 Rust TCP 服务器。当我使用cargo run(或之后的二进制文件cargo install)运行它时,它会做正确的事情,我可以发送Ctrl-C到它终止。我没有在代码中做任何显式的信号处理。

我把它变成了一个 Docker 镜像。这是 Dockerfile。

FROM rust:1.40 as builder
COPY . .
RUN cargo install --path . --root .

FROM debian:buster-slim
COPY --from=builder ./bin/myserver ./myserver
EXPOSE 8080
ENTRYPOINT ["./myserver"]
Run Code Online (Sandbox Code Playgroud)

然后我做:

docker build -t myserver .
docker run -it --rm -p 8080:8080 myserver
Run Code Online (Sandbox Code Playgroud)

试图Ctrl-C进程^C在终端中显示字符,但信号似乎没有到达进程。我必须使用docker kill …

rust docker windows-subsystem-for-linux

8
推荐指数
2
解决办法
1735
查看次数

标签 统计

docker ×1

rust ×1

windows-subsystem-for-linux ×1