gpt4 book ai didi

Docker 不绑定(bind)端口

转载 作者:行者123 更新时间:2023-12-02 18:14:00 25 4
gpt4 key购买 nike

为什么从 docker 容器中暴露的端口不起作用?

让我们考虑以下示例

Dockerfile:

FROM debian

RUN apt-get update && \
apt-get -y upgrade && \
apt-get -y install netcat strace

EXPOSE 8080

ENTRYPOINT ["strace", "nc", "-l", "8080"]


cmd运行 docker run -it -p 8080:8080 --cap-add SYS_PTRACE ex_001
以及任何通过 echo "TRALALA" | nc -v localhost 8080 发送内容的尝试结果为 Connection to localhost 8080 port [tcp/http-alt] succeeded!但仅此而已。

容器中的 strace 实例不打印任何内容。为什么?

IE。 strace 挂起等待新的接受

最佳答案

您需要 -p用于指定监听的本地端口的选项。否则,它将数字解释为主机名。

ENTRYPOINT ["strace", "nc", "-vlp", "8080"]

打开详细模式可以更清楚 nc是在做。

关于Docker 不绑定(bind)端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57170709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com