网络配置(桥接仅主机自定义网络)
创始人
2024-03-27 21:03:20
0

目录

一、网络模式简介

 1.bridge模式(默认桥接模式)

 总结:桥接模式的特点就在于,它所虚拟的服务器都有独立的IP

初始网络模式 

2.host模式(仅主机模式) 

总结:仅主机它不会分配IP,它共享IP及端口

 查看仅主机模式的特点

二、bridge模式的使用 

三、host模式的使用 

什么时候用桥接模式?什么时候用仅主机模式? 

网络模式于我们数据卷容器联合使用

四、自定义网络

① 创建自定义网络 

 ②指定IP地址

 ③ 查看网络


一、网络模式简介

Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用--net去指定,其他三种模式需要在创建容器时使用--net去指定

bridge:桥接模式、host:仅主机模式、container:容器模式、还有none。 

 1.bridge模式(默认桥接模式)

 总结:桥接模式的特点就在于,它所虚拟的服务器都有独立的IP

docker run时使用--net=bridge,这种模式会为每个容器分配一个独立的Network Namespace,
同一个宿主机上的所有容器会在同一个网段下,相互之间是可以通信的

注1:bridge为默认模式,不需要使用参数--net去指定,使用了--net参数反而无效
注2:bridge模式无法指定容器IP(但非绝对,还是可以修改滴,具体操作可参考资料/10)

 解释一下:

初始网络模式 

#查看网络模式
ip a
ifconfig
#Docker网络模式相关命令查看
docker network --help
#列出Docker现有网络模式
docker network ls
#查看桥接模式下的网络状态
docker network inspect bridge 

#启动容器
docker start c2
#查出所有的网络模式
docker network --help
#ls 查看所有
docker network ls
#查看当前桥接模式里面的情况
docker network inspect bridge
#停止容器
docker stop c2
#查看当前它虚拟机的id
ifconfig

 目前在这里面只有一个容器,我们在来启动一个。

2.host模式(仅主机模式) 

总结:仅主机它不会分配IP,它共享IP及端口

docker run时使用--net=host,容器将不会虚拟出IP/端口,而是使用宿主机的IP和端口
docker run -itd --net=host 961769676411
注1:host模式不能使用端口映射和自定义路由规则,这些都与主机一致,-p 与-icc 参数是无效的

 查看仅主机模式的特点

#查看本机所有的镜像

docker images

#守护进程 采用仅主机模式 

docker run -di --name c9 --net=host centos:7

#查看是在运行的容器
docker ps

#查看我们仅主机模式里面的内容
docker network inspect host

#查看不管正在运行的还是启动的容器

docker ps -a 

#删除所有容器
docker rm -f $(docker ps -aq)

二、bridge模式的使用 

docker run -di --name tomcat1 -p 8081:8080 912fcdf1a5d5
#--restart=always容器随着Docker引擎启动而启动
docker run -di --name tomcat2 --restart=always -p 8083:8080 912fcdf1a5d5

进行访问 

如果在想启动一个可以直接改名字和宿主机的端口号就好了,如下图所示:

 一样的也可以访问:如下所示

在我们桥接模式里的网卡就会显示这两个容器,如下所示:

三、host模式的使用 

docker run -di --name tomcat3 --net=host 912fcdf1a5d5
docker run -di --name tomcat5 -v /javajwj/software/mydocker/:/home/javajwj/docker --net=host --restart=always 912fcdf1a5d5

 目前我们访问http://192.168.29.128:8080/是没有的,如下图所:

 

 访问我是没有做端口映射的,其实仅主机的模式方便一些。

什么时候用桥接模式?什么时候用仅主机模式? 

 单体应用        仅主机

MySQL、redis、tomcat

集群应用        桥接模式

Nginx 负载3个tomcat

网络模式于我们数据卷容器联合使用

# --restart=always容器随着Docker引擎启动而启动

docker run -di -v /javajwj/software/mydocker/:/home/javajwj/docker -p 8083:8080 --name t6 --restart=always 912fcdf1a5d5

如果这个命令很长,可以用\换到下一行写 \代表命令没有写完

 

这是相对我们的网络模式于我们数据卷容器联合使用的一个案例 

四、自定义网络

 #创建自定义网络
docker network create --subnet=172.18.0.0/16 mynetwork

docker run -it --name tomcat8 --net=mynetwork -v /javajwj/software/mydocker/:/home/javajwj/docker --ip 172.18.0.8 912fcdf1a5d5 /bin/bash
#查看网络
docker network inspect mynetwork

我执行的步骤:

#查看容器

 docker ps

#查看桥接里内容信息

docker network inspect bridge

现在里面的容器是有三个,如下图所示:

#我把tomcat1给停掉

 docker stop tomcat1 

看下图所示:

所以我们要自定义网络

① 创建自定义网络 

docker network create --subnet=172.18.0.0/16 mynetwork

 ②指定IP地址

docker run -it --name tomcat8 --net=mynetwork -v /javajwj/software/mydocker/:/home/javajwj/docker --ip 172.18.0.8 912fcdf1a5d5 /bin/bash

 ③ 查看网络

docker network inspect mynetwork

这是我们自定义网络,那就意味着在微服务里面把不同的产品微服务给部署进去,然后我把微服务的容器给停了,也不会受到影响。

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...