一、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-hk/n/200338.html