Docker 容器网络管理:端口映射和日志查看

在这里插入图片描述

外部访问容器

在 Docker 容器中运行网络应用时,可以通过端口映射将容器内的端口暴露给外部,从而让外部访问这些应用。Docker 提供了 -P-p 参数来指定端口映射。

1. 使用 -P 标志

-P 标志会随机映射一个 49000-49900 范围内的端口到容器内开放的网络端口。

示例:

$ sudo docker run -d -P training/webapp python app.py

运行后,可以使用 docker ps 查看映射的端口:

$ sudo docker ps -l

输出示例:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bc533791f3f5 training/webapp:latest python app.py 5 seconds ago Up 2 seconds 0.0.0.0:49155->5000/tcp nostalgic_morse

这里,主机的 49155 端口被映射到了容器的 5000 端口,可以通过访问主机的 49155 端口来访问容器内的 web 应用。

2. 查看容器日志

使用 docker logs 可以查看运行容器的日志信息:

$ sudo docker logs -f nostalgic_morse

输出示例:

* Running on http://0.0.0.0:5000/
10.0.2.2 - - [23/May/2014 20:16:31] "GET / HTTP/1.1" 200 -
10.0.2.2 - - [23/May/2014 20:16:31] "GET /favicon.ico HTTP/1.1" 404 -
3. 使用 -p 标志指定端口

-p 标志允许指定需要映射的端口,并且在一个指定端口上只能绑定一个容器。格式为 ip:hostPort:containerPortip::containerPorthostPort:containerPort

示例:

$ sudo docker run -d -p 5000:5000 training/webapp python app.py

此命令会将本地的 5000 端口映射到容器的 5000 端口。

4. 映射到指定地址和端口

可以使用 ip:hostPort:containerPort 格式来指定映射使用一个特定地址,例如 localhost 地址 127.0.0.1。

示例:

$ sudo docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py
5. 映射到指定地址的任意端口

使用 ip::containerPort 格式可以将 localhost 的任意端口到容器的 5000 端口,本地主机会自动分配一个端口。

示例:

$ sudo docker run -d -p 127.0.0.1::5000 training/webapp python app.py

还可以使用 udp 标志来指定 UDP 端口:

$ sudo docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
6. 查看映射端口配置

使用 docker port 来查看当前映射的端口配置,也可以查看绑定的地址。

示例:

$ docker port nostalgic_morse 5000
127.0.0.1:49155

注意:

  • 容器有自己的内部网络和 IP 地址(使用 docker inspect 可以获取所有的变量,Docker 还有一个可变的网络配置)。
  • -p 标志可以多次使用来绑定多个端口。

示例:

$ sudo docker run -d -p 5000:5000 -p 3000:80 training/webapp python app.py
  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值