Docker查看埠和埠映射

一、Docker查看埠映射

在Docker中,我們可以使用docker port命令來查看容器內部埠和主機映射的埠。

$ docker port [container_name]

例如,我們可以使用以下命令來查看名為web的容器的埠映射:

$ docker port web
80/tcp -> 0.0.0.0:32769

這意味著容器的埠80映射到主機的埠32769上。

二、查看Docker埠號

我們可以使用docker inspect命令來查看Docker容器的詳細信息,其中包括容器的埠號。

$ docker inspect [container_name] | grep -i port

例如,如果我們想查找名為web的容器的埠號,我們可以使用以下命令:

$ docker inspect web | grep -i port
"Ports": {
    "80/tcp": [
        {
            "HostIp": "0.0.0.0",
            "HostPort": "32769"
        }
    ]
},

這意味著容器的埠80映射到主機的埠32769上。

三、Docker查看埠命令

除了docker port命令和docker inspect命令外,我們還可以使用docker ps命令來查看容器的埠信息。

$ docker ps

這將顯示所有正在運行的容器的列表,其中包括容器的埠信息。

四、Docker查看埠佔用

我們可以使用lsof命令來查看埠是否被佔用。

$ sudo lsof -i :[port_number]

例如,如果我們想查看埠80是否被佔用,我們可以使用以下命令:

$ sudo lsof -i :80

如果埠被佔用,將顯示相關進程的信息。

五、Docker查看埠佔用情況

我們還可以使用netstat命令來查看埠的佔用情況。

$ sudo netstat -tulpn | grep [port_number]

例如,如果我們想查看埠80的佔用情況,我們可以使用以下命令:

$ sudo netstat -tulpn | grep 80

這將顯示佔用埠80的進程以及它們的PID。

六、Docker本地映射埠

在Docker中,我們可以使用-p選項將容器內部的埠映射到主機埠。

$ docker run -p [host_port]:[container_port] [image_name]

例如,如果我們想將容器web的埠80映射到主機的埠8080上,我們可以使用以下命令:

$ docker run -p 8080:80 nginx

七、Docker埠映射原理

Docker的埠映射原理是將主機的埠與容器的埠進行綁定,因此可以通過主機的埠來訪問容器內的服務。

當我們運行一個容器並映射埠時,Docker會在主機的iptables規則中添加一條規則,使主機的請求被轉發到容器的埠。

八、Docker修改容器埠

如果我們需要修改容器的埠,我們可以在容器運行時使用docker port命令來實現。

$ docker port [container_name] [new_port]/tcp

例如,如果我們想將名為web的容器的埠80修改為8080,我們可以使用以下命令:

$ docker port web 8080/tcp

現在容器的埠80將映射到主機的埠8080上。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/200338.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-05 14:05
下一篇 2024-12-05 14:05

相關推薦

發表回復

登錄後才能評論