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-hant/n/200338.html

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

相關推薦

發表回復

登錄後才能評論