四、容器的网络访问
系列导航
1、网络原理图
2、查看容器的ip地址(容器里没有ficonfig命名的时候)
(1)查看容器属性
[root@node03 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a7837d2a610f ubuntu:15.10 "ps -ef" 3 hours ago Exited (0) 3 hours ago agitated_rhodes
[root@node03 ~]# docker inspect a7837d2a610f
2)进入容器后使用命名
[root@node03 ~]# docker exec -it cde36937797f /bin/bash
root@cde36937797f:/# hostname -I
172.17.0.2
3、设置内核转发参数
注:设置为0,容器就不能上网了
注:上图是临时修改重启后参数会还原
如下是永久修改方式
修改后立即生效
进入容器后测试是否可以上网
[root@8e06f2090784 /]# curl -I www.baidu.com
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: keep-alive
Content-Length: 277
Content-Type: text/html
Date: Fri, 13 Mar 2020 08:21:35 GMT
Etag: "575e1f60-115"
Last-Modified: Mon, 13 Jun 2016 02:50:08 GMT
Pragma: no-cache
Server: bfe/1.0.8.18
4、查看iptables规则
如下红色部分是讲容器的ip伪装成外网地址
[root@node03 ~]# iptables -t nat -L -n
4、端口转发参数 -p
$ docker run --name nginx-test -p 8081:80 -d nginx
参数说明:
- --name nginx-test:容器名称。
- -p 8081:80: 端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。
- -d nginx: 设置容器在在后台一直运行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!