Docker容器如何绑定外部IP和端口
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,小编给大家分享一下Docker容器如何绑定外部IP和端口,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Docker允许通过
千家信息网最后更新 2025年12月01日Docker容器如何绑定外部IP和端口
小编给大家分享一下Docker容器如何绑定外部IP和端口,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务。
1、外部访问容器
容器启动之后,容器中可以运行一些网络应用,通过-p或-P参数来指定端口映射。
a、用-P(大写)标记时,docker会随机选择一个端口映射到容器内部开放的网络端口上。
$ docker run -d -P myfirstapp python app.py $ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESdbcf5d3290ba myfirstapp "python app.py" 4 seconds ago Up 4 seconds 0.0.0.0:32770->80/tcp quizzical_engelbart
此时访问本机的32770端口就可以访问到容器内web应用提供的界面。
$ curl http://192.168.1.160:32770/Hello HELLO!
Hostname: dbcf5d3290ba
Visits: cannot connect to Redis, counter disabled

也可以使用docker logs来查看应用的信息
$ docker logs dbcf5d3290ba* Running on http://0.0.0.0:80/ (Press CTRL+C to quit)192.168.1.5 - - [29/Mar/2018 06:17:34] "GET / HTTP/1.1" 200 -192.168.1.5 - - [29/Mar/2018 06:17:34] "GET /favicon.ico HTTP/1.1" 404 -192.168.1.160 - - [29/Mar/2018 06:17:43] "GET / HTTP/1.1" 200 -192.168.1.5 - - [29/Mar/2018 06:18:59] "GET / HTTP/1.1" 200 -
b、使用-p(小写)标记时则可以指定要映射的端口,并且在一个指定端口上只可以绑定一个容器,支持的格式有:
ip:hostport:containerport ip::containerport hostport:containerport$ docker run -d -p 4000:80 myfirstapp python app.py$ docker run -d -p 4001:80 myfirstapp python app.py$ curl http://192.168.1.160:4000/Hello HELLO!Hostname: f43ed2810353Visits:cannot connect to Redis, counter disabled$ curl http://192.168.1.160:4001/Hello HELLO! Hostname:f43ed2810353Visits:cannot connect to Redis, counter disabled
可以看到本地4000端口已经被映射,换一个端口4001也被映射。
docker默认会映射本地所有的地址。现在我们来尝试一下映射到指定地址的指定端口
$ docker run -d -p 127.0.0.1:4000:80 myfirstapp python app.py$ curl http://127.0.0.1:4000/ ##访问通过$ curl http://localhost:4000/ ##访问通过$ curl http://192.168.1.160:4000/ ##访问拒绝curl: (7) Failed connect to 192.168.1.160:4000; 拒绝连接
然后要访问容器中的应用只能通过127.0.0.1这个ip访问。
接下来是绑定本机的任意端口到容器的80端口,随机分配一个端口
$ docker run -d -p 127.0.0.1::80 myfirstapp python app.py$ docker ps ##127.0.0.1:32770->80/tcp$ curl http://127.0.0.1:32770/ ##访问通过$ curl http://localhost:32770/ ##访问通过$ curl http://192.168.1.160:32770/ ##访问拒绝
还可以指定通信协议
docker run -d -p 5003:80/udp myfirstapp python app.py
2.查看容器绑定和映射的端口及Ip地址
$ docker port 44de1b0b5312(容器ID)80/tcp -> 127.0.0.1:32770
3.注意事项
a.docker inspect查看容器自己的内部网络和ip地址
$ docker inspect 44de1b0b5312(容器ID)
b.容器启动绑定多IP
$ docker run -d -p 5005:5000 -p 5006:80 myfirstapp python app.py #容器ID:44e703c1279a$ docker port 44e703c1279a5000/tcp -> 0.0.0.0:500580/tcp -> 0.0.0.0:5006
以上是"Docker容器如何绑定外部IP和端口"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
容器
端口
地址
网络
应用
篇文章
内容
标记
本机
接下来
不怎么
之间
事项
信息
参数
大写
大部分
小写
方式
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发文档软件
服务器文件同步和共享有啥区别
问道手游是什么服务器
工作中如果做好网络安全
网络安全应急响应牌子
计算机三级考试数据库技术
我国的网络安全
网络技术在政府管理中的应用
个人计算机网络安全策略
广州千象网络技术
湖北云端互联网科技有限公司
奉贤区工程软件开发优势
韩国ka高防服务器
数据库设计的重要性
韩国手机软件开发
2021发生的网络安全案例
文章类型的使用什么数据库
怎么设计一个数据库管理系统
南京质量软件开发模型设计
科技软件开发d3
数据库网页连接错误
网络安全自查自纠工作总结
数据库怎么使用语句表
mac服务器远程桌面连接
南宁市东晴网络技术有限公司
数据库是没法解锁的
网络安全技术试点示范申报
鸿峥武汉网络技术有限公司
软件开发的实习记录
网络安全问题对电子商务的影响