docker三种网络模式

article/2025/5/19 9:10:55

1.docker默认的三种网络模式:

bridge:桥接模式

host:主机模式

none:无网络模式

查看网络模式: docker network ls

2.桥接模式

简介:桥接模式是docker 的默认网络设置,当Docker服务启动时,会在主机上创建一个名为docker0的虚拟网桥,并选择一个和宿主机不同的IP地址和子网分配给docker0网桥

如下图所示:eno16777728是宿主机的网卡,192.168.0.156是宿主机的ip地址,docker0就是docker服务的虚拟网桥。

桥接拓扑图:

网络模式选择桥接模式的容器,就会连接上docker0这个网桥,在通过nat的转换,通过宿主机的网卡,连接外网,就能达到上外网的目的。

如下图所示,我启动了两个容器,就会有两个容器网卡,以及一个docker0虚拟网卡,如果启动三个就会有三个容器网卡,这几个容器网卡都会桥接到docker0网卡,docker0网卡与物理机网卡连接使用的是nat技术

进入某一个容器查看路由情况:

在容器内安装工具:yum -y install net-tools

容器的ip地址是172.17.0.3,他的网关是172.17.0.1,他的数据是发往172.17.0.1这个网关,这个网关也是虚拟网桥的地址,如下图所示,docker0这个虚拟网桥的ip地址就是172.17.0.1。

在宿主机安装工具:yum install -y bridge-utils

然后使用brctl show命令查看桥接情况:

如下图所示就可以看到,docker0这个网桥桥接了30和17这两个容器的网卡.

需要注意的一点如下:

宿主机能访问docker容器是因为有docker0这个虚拟网卡,除宿主机外的机器想访问容器,只能够访问宿主机,这时候正常方式都是使用端口映射,也就是将容器的端口与宿主机的端口进行映射,供外面的机器访问

3.host模式

host 模式:该模式下容器是不会拥有自己的ip地址,而是使用宿主机的ip地址和端口。这种模式的好处就是网络性能比桥接模式的好。缺点就是会占用宿主机的端口,网络的隔离性不太好

以nginx容器为例:启动nginx容器命令并防火墙放开80端口:

docker run -d --net=host mycentos:nginx /usr/local/nginx/sbin/nginx -g “daemon off;”

–net=host是指定网络模式为主机模式,如果不填就是桥接模式

注意:主机模式启动的容器没有自己的IP地址

4.none模式

加上后面的参数就行了 --net=none

none模式没有IP地址,无法连接外网,等于就是断网的状态,作用就是用于测试,生产环境一般不会用到这种


http://chatgpt.dhexx.cn/article/bmJdyCLi.shtml

相关文章

docker的五种网络模式

目录 一、bridge网络(网桥的方式) 二、host网络 三、none网络 四、自定义网络 五、container模式 一、bridge网络(网桥的方式) 可以很清楚的看出容器和宿主机的关系,当我们docker程序运行时,我们会增加一…

Docker--网络模式

文章目录 一、Docker网络实现原理二、Docker的网络模式1.Host模式2.Container模式3.None模式4.Bridge模式 三、自定义网络1.查看网络模式列表2.查看容器信息(包含配置、环境、网关、挂载、cmd等等信息)3.指定分配容器IP地址 四、暴露端口五、为容器创建端…

Docker系列---网络模式 | Dockerfile | 参数讲解 | 详细说明

网络模式 | Dockerfile Docker 原生网络Docker 网络图解Docker 四种网络模式Host 模式Container模式None模式Bridge模式 Docker 网络自定义查看网络列表自定义网络固定IP暴露端口在宿主机环境执行容器内命令systemctl 命令 Docker 镜像分层Dockerfile 操作指令例:do…

七、Docker网络模式详解

目录 一、docker网络概述1、docker网络实现的原理2.容器的端口映射1).端口映射2).四种端口映射3).端口映射演示(1).随机端口映射(-P)(2).指定端口映射(-p 宿主机端口:容器端口)(3).指定网卡随机端口映射(-p ::&#xf…

使用navicat远程连接mysql时报2059错误解决方法

navicat连接mysql时报2059错误解决方法 报错原因解决方案1、管理员权限打开cmd2、修改加密规则及密码3、退出,重启mysql 报错原因 这个错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_pa…

navicat2012连接MySQL时提示2059错误

出现2059这个错误的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。通过网络查找发现我们可以将mysql用户登录的加密规则修改为mysql_native_password。 解决方法: 1.打开cmd&#xff0…

MySQL8:关于进入navicat连接MySQL出现2059界面

一.进入navicat连接MySQL出现2059页面: 原因:MySQL8之前版本中加密规则为mysql_native_password,MySQL8以后的加密规则为caching_sha2_password. 解决:将mysql用户登录加密规则修改为mysql_native_password即可. 二.解决方案: …

2059-Authentication plugin‘caching_sha2_password‘cannot be loaded

2059-Authentication plugin’caching_sha2_password’cannot be loaded 原因 由于目前已有的客户端连接软件还不支持Mysql8新增加的加密方式:caching_sha2_password 老的加密验证方式:mysql_native_password 解决方式 1、打开MySQL 8.0 Command Lin…

sqlyog连接mysql报错2058或者Navicat连接报错2059

下载了mysql8.0版本&#xff0c;结果连接的时候报了一些错误&#xff0c;这里进行总结 下载了mysql8.0版本&#xff0c;结果连接的时候报了一些错误&#xff0c;这里进行总结1、sqlyog连接mysql报错2058或者Navicat连接报错20592、sqlyog连接mysql报错 :连接失败 localhost<…

MySql 8.0.11 客户端连接失败:2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: ....

近期,换了新笔记本,重新安装了MySql数据库和客户端工具Navicat Premium 12。我是从官网上下载的MySql数据库&#xff0c; 版本为8.0.11&#xff0c;链接&#xff1a;https://dev.mysql.com/downloads/mysql/ 当数据库和客户端安装成功后&#xff0c;我使用客户端连接接数据库时…

Django数据迁移:django.db.utils.OperationalError: (2059, <NULL>) ----2059错误解决方案

数据库迁移&#xff1a; 迁移是Django同步你对模型所做更改到你的数据库模式的方式 python manage.py makemigrations 将应用下的models.py文件生成一个中间文件&#xff0c;并保存在migrations文件夹中 python manage.py migrate 执行迁移程序实现迁移&#xff0c;将每个应用…

mysql8版本2059报错解决方法

mysql由原来一直使用的5.6切换到8版本&#xff0c;本地安装完成后&#xff0c;使用命令可以正常连接&#xff0c;但是使用navicat一直报2059的错误&#xff0c;如下图&#xff1a; 问题原因&#xff1a; 由于在MySql8之前的版本&#xff0c;默认的加密规则是mysql_native_pass…

navicat premium连接数据库出现2059错误

安装navicat之后新建连接出现了2059的错误 打开doc窗口wind输入cmd打开 输入 mysql -u root -p 输入root用户的密码 选择数据库 输入 use mysql 查看加密的规则 输入 select Host,User,plugin from mysql.user; 加密方式是新的加密方式 更改回原来的加密方式 输入 A…

mysql 连接数据库时error 2059 解决

mysql 连接数据库时error 2059 解决 原因解决方法管理员运行cmd修改加密方式 原因 mysql8新版本发布&#xff0c;安装后出现2059错误。原因是在mysql8之前的版本中加密规则为mysql_native_password&#xff0c;而在mysql8以后的加密规则为caching_sha2_password。 所以通过命令…

虚拟机连接数据库报错2059

一、进入Navicat连接MySQL出现下面的2059界面二、解决办法 1.windowsR输入cmd进入页面 2.输入mysql -u root -p 然后输入密码进入数据库 3.输入use mysql 出现Database changed 4.输入select user,host from user; 目的为了查看user的root 对应host是什么 我的对应为% 5.输…

关于Navicat连接MySQL出现2059问题解决方法

一、进入Navicat连接MySQL出现下面的2059界面 原因&#xff1a;mysql8之前版本中加密规则为mysql_native_password&#xff0c;mysql8以后的加密规则为caching_sha2_password&#xff0c;将mysql用户登录加密规则修改为mysql_native_password即可&#xff01; 二、解决方案 1.…

2059 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded:报错的解决办法

目录 一、报错说明 二、原因 三、解决方法 一、报错说明 在windows本地安装mysql之后&#xff0c;用Navicat连接&#xff0c;然后报错&#xff1a; 2059 - Authentication plugin caching_sha2_password cannot be loaded 二、原因 由于目前已有的客户端连接软件还不支持…

【C++】2059:【例3.11】买笔(信息学奥赛)

好了&#xff0c;今天的内容就是买笔了&#xff0c;内容的详细意思也就是根据输入的表示星期几的数字&#xff0c;对应输出它的英文名称。&#xff08;博主正在冲200粉丝&#xff0c;喜欢的赶紧关注&#xff01;&#xff01;&#xff01;&#xff09; 【题目描述及其目的】 20…

Navicat 连接 MySql 报错2059时的解决方法

My报错2059时的操作方法 当你使用navicat连接MySQL 的时候&#xff0c;会出现报错2059.如下图所示&#xff1a; 按照如下操作&#xff1a; 1&#xff1a;在电脑中搜索 MySQL 8.0 Command Line Client - Unicode 并打开 2&#xff1a;输入密码连接到数据库 3&#xff1a;输入…

Navicat连接MySql8+出现2059错误解决办法

今天使用Navicat连接mysql的时候报了2059的错误&#xff0c;为了解决这个看似不难的问题&#xff0c;我也是试了不少方法&#xff0c;在这里给大家分享下我的经验。 首先出现2059这个错误的原因是因为在mysql8之前的版本中加密规则为mysql_native_password。但是在mysql8以后的…