首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker主机端口和容器端口

docker主机端口和容器端口
EN

Stack Overflow用户
提问于 2019-08-03 21:29:39
回答 1查看 2.8K关注 0票数 4

我正在运行一个数据库容器。我知道要检查端口映射,可以使用命令docker port <container_id or name>。因此,我尝试了该命令:

代码语言:javascript
复制
$docker port ea72b2c4ba47
3306/tcp -> 127.0.0.1:3666

我看到了输出,但是哪一个是主机使用的端口,哪个是容器的端口?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-03 21:49:05

3306/tcp -> 127.0.0.1:3666表示容器内的端口3306暴露在主机的3666端口上。

更多信息here

如果您认为docker port命令的输出令人困惑,那么可以使用docker inspect命令来检索端口映射。正如官方文档中提到的here

docker ps docker port docker inspect是用于获取有关端口映射的信息的有用命令。

代码语言:javascript
复制
[user@jumphost ~]$ docker run -itd -p 3666:3306 alpine sh
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
050382585609: Pull complete 
Digest: sha256:6a92cd1fcdc8d8cdec60f33dda4db2cb1fcdcacf3410a8e05b3741f44a9b5998
Status: Downloaded newer image for alpine:latest
428c80bfca4e60e474f82fc5fe9c1c0963ff2a2f878a70799dc5da5cb232f27a
[user@jumphost ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
428c80bfca4e        alpine              "sh"                3 seconds ago       Up 3 seconds        0.0.0.0:3666->3306/tcp   fervent_poitras
[user@jumphost ~]$ docker port 428c80bfca4e
3306/tcp -> 0.0.0.0:3666
[user@jumphost ~]$ docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' 428c80bfca4e
 3306/tcp -> 3666 
[user@jumphost ~]$

docker inspect comtainer-id还提供了端口的清晰映射。

代码语言:javascript
复制
$ docker inspect 428c80bfca4e
     |
     |
"Ports": {
                "3306/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "3666"
                    }
                ]
            },
     |
     |

希望这能有所帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57338773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档