簡體   English   中英

無法使用 netcat 從端口 1300 上的主機連接到來賓 docker 容器

[英]Cannot connect to guest docker container from host on port 1300 with netcat

我試圖遵循這個問題: 如何連接到在 docker 容器中運行的 netcat?

我有

C:\Users\Chloe\workspace\spinsci>docker container ls
CONTAINER ID        IMAGE               COMMAND                 CREATED             STATUS              PORTS                    NAMES
0df9daa8d8cc        b7bd807e363a        "/bin/sh -c /bin/ash"   9 seconds ago       Up 6 seconds        0.0.0.0:1300->1300/tcp   optimistic_newton

C:\Users\Chloe\workspace\spinsci>docker exec -it 0df9daa8d8cc /bin/ash
/ # nc -l -p 1300

在我的主機上,我嘗試連接但它失敗了:

$ nc -vv localhost 1300
nc: connect to localhost port 1300 (tcp) failed: Connection refused
nc: connect to localhost port 1300 (tcp) failed: Connection refused

$ nc 127.0.0.1 1300
$ nc 0.0.0.0 1300
$ telnet localhost 1300
Trying ::1...
Connection failed: Connection refused
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

我的Dockerfile僅僅是

FROM alpine:latest
EXPOSE 1300
CMD /bin/ash

運行docker inspect 0df9daa8d8cc產量

...
    "HostConfig": {
        "PortBindings": {
            "1300/tcp": [
                {
                    "HostIp": "",
                    "HostPort": "1300"
                }
            ]
        },
...
    "NetworkSettings": {
        "Ports": {
            "1300/tcp": [
                {
                    "HostIp": "0.0.0.0",
                    "HostPort": "1300"
                }
            ]
        },
...
        "Networks": {
                "Gateway": "172.17.0.1",
                "IPAddress": "172.17.0.2",

使用 Docker Toolbox (Engine 19.03.5) 因為 Windows 8.1。

Docker Toolbox 在運行在 virtualbox 中的 linux 虛擬機中運行 docker。 VM 有自己的虛擬 NIC,具有不同的 IP 地址。 它應該顯示在控制面板(或使用 ipconfig)的 Windows 適配器列表中,默認情況下 IP 位於 192.168.99.x 子網中。 因此,主機上的正確命令是nc 192.168.99.x 1300 ,其中 x 是運行設置中的實際值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM