docker网络模式

查看网络模式
在这里插入图片描述
启动镜像为容器,指定网络模式
①host模式,使用docker run时使用–net=host指定, docker使用的网络实际上和宿主机一样,在容器内看到的网卡ip是宿主机ip
在这里插入图片描述
②none模式,使用–net=none指定,这种模式下,不会配置任何网络在这里插入图片描述在这里插入图片描述

设置多个容器使用共同的网络
①启动镜像为容器
在这里插入图片描述
②container模式,使–net=container:container_id/container_name
在这里插入图片描述
多个容器使用共同的网络,看到的ip是一样的
在这里插入图片描述启动镜像为容器,默认网络模式为bridge
在这里插入图片描述
启动容器,在容器里安装http服务和工具
在这里插入图片描述
在容器中启动HTTP服务,并查看端口
在这里插入图片描述
将容器打包为新的镜像,并查看
在这里插入图片描述
启动打包的新的镜像为容器
在这里插入图片描述
进入容器,查看打包前存在的服务(打包前容器中的东西没有变)
在这里插入图片描述
访问apache网页
编辑1.html: vi /var/www/html/1.html 随便写点东西再次访问网页在这里插入图片描述
在这里插入图片描述
给默认网桥设置网段
在这里插入图片描述
重启服务并启动容器测试
在这里插入图片描述

### Docker 网络模式详解及配置方法 #### 1. **Bridge 模式** 这是 Docker 默认的网络模式。当启动一个容器时,如果没有显式指定 `--network` 参数,则会自动使用 Bridge 模式[^2]。在这种模式下,Docker 守护进程会在主机上创建一个名为 `docker0` 的虚拟网桥,为每个容器分配独立的 IP 地址和子网掩码。 - 配置方式: ```bash docker run --network=bridge <image_name> ``` 这种模式适合大多数场景下的应用部署需求,因为它提供了良好的隔离性和灵活性。 --- #### 2. **Host 模式** 在 Host 模式下,容器不会被分配单独的网络命名空间,而是共享宿主机的操作系统网络栈。这意味着容器内的服务可以直接绑定到宿主机的真实接口地址,而无需 NAT 或端口映射操作。 - 配置方式: ```bash docker run --network=host <image_name> ``` 需要注意的是,在此模式下运行的应用可能会与其他正在监听相同端口号的服务发生冲突。 --- #### 3. **None 模式** 如果希望完全屏蔽掉某个特定容器对外部世界的访问能力,可以选用 None 模式。此时除了 loopback 接口外不会再有其他任何形式的联网支持存在[^4]。 - 配置方式: ```bash docker run --network=none <image_name> ``` 用户需手动完成所有的必要设置比如添加额外物理适配器或者调整路由表项等工作才能让此类实例重新获得连通性。 --- #### 4. 自定义 Overlay/Custom Networks (User-defined networks) 为了实现更复杂的跨节点集群环境中的多台机器之间相互协作的需求, 可以考虑构建自定义overlay类型的逻辑拓扑结构来满足实际业务情况的要求[^3]. 这种高级别的抽象层允许不同主机上的多个容器彼此透明地交换数据包而不必关心底层具体的传输细节. - 创建一个新的覆盖型网络: ```bash docker network create -d overlay my_overlay_network ``` 之后就可以像平常一样把新产生的资源关联至目标镜像文件之上啦! --- ### 总结 每种 docker 网络模型都有其独特之处以及适用范围。对于简单的单机测试用途来说 bridge 已经足够强大;而对于追求极致性能表现又不想牺牲太多安全性的朋友而言 host 则是个不错的选择;最后当我们面临分布式计算框架搭建难题的时候不妨试试看 user defined ones 吧!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值