当前位置: 首页 > news >正文

Docker之网络配置

目录

一. Docker网络介绍

        1.1 网络模式

        1.2 bridge模式(默认模式) 

        1.2.1 什么是桥接模式

        1.2.2 效果演示

        1.2.3 桥接模式的特点

        1.3 host模式

        1.3.1 什么是host模式

        1.3.2 仅主机模式的特点

二. Docker网络实操

        2.1 bridge桥接模式

        2.1 host仅主机模式

三. Docker自定义网络

        3.1 为什么要使用自定义网络

        3.2 创建自定义网络 

        3.3 测试


一. Docker网络介绍

        1.1 网络模式

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

#查看网络模式
ip a
ifconfig#Docker网络模式相关命令查看
docker network --help#列出Docker现有网络模式
docker network ls#查看桥接模式下的网络状态
docker network inspect bridge#获取多个到容器id
docker ps -aq#删除所有容器  $代表引用
docker rm -f $(docker -ps -aq)

        1.2 bridge模式(默认模式) 

        1.2.1 什么是桥接模式

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

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

桥接模式:宿主机启动两个容器|服务器:会分配两个IP地址

        1.2.2 效果演示
#查看桥接模式下的网络状态
docker network inspect bridge

        1.2.3 桥接模式的特点

1. 先启动一个容器

docker run -di centos:7

可以看见:出现了一个容器并且分配了一个 ip 为172.17.0.2 

2. 下面再来一次,再次启动一个容器

docker run -di centos:7

可以发现在原来的容器基础上又增添了一个新的容器,并且又添加了一个新的 ip

        1.3 host模式

        1.3.1 什么是host模式

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

        1.3.2 查看仅主机模式的特点
#查看主机模式下的网络状态
docker network inspect host

#--net=host:指定容器:为仅主机模式,--restart=always:开机自启动
docker run -di --name c1 --net=host --restart=always centos:7

可以看出:host仅主机模式是不会分配虚拟IP

二. Docker网络实操

        2.1 bridge桥接模式

一些常用的指令 

#查看我们自身创建的
docker images#这种不需要开放宿主机防火墙端口,如8081端口不需要开放
docker run -di --name tomcat1 -p 8080:8080 94d2357d288e#--restart=always:容器随着Docker引擎启动而启动
docker run -di --name tomcat2 --restart=always -p 8081:8080 94d2357d288e
#查看我们自身创建的镜像
docker images#映射
docker run -di -P --name mt2 94d2357d288e

映射成果

但是随机分配的端口比较难记住,不好掌控,那我们来指定端口

#8081映射8080
docker run -di -p 8081:8080 --name mt3 94d2357d288e

映射成功

        2.1 host仅主机模式

        需要指定模式,但是不需要指定端口,默认会使用宿主机端口,会一一对应,如果部署了两个相同的服务,像是8080,就必须使用桥接模式

#这种要开放宿主机防火墙端口
docker run -di --net=host --name mt5 --restart=always 94d2357d288e

#指定数据卷(如果不记得数据卷跟谁绑定了就用这个)
docker run -di --name mt5 -v /javacy/software/mydocker/:/home/javacy/docker --net=host --restart=always 94d2357d288e#查看该容器的详细信息
docker inspect mt5(容器名字)

三. Docker自定义网络

        3.1 为什么要使用自定义网络

        是为了容器之间能相互通信。因为开发会使用微服务springCloud,会把一个项目拆成多个项目进行操作,例如:

        用户微服务  项目1,订单微服务  项目2,商品微服务  项目3

        而模块与模块之间是需要相互访问的,所以容器与容器之间也是需要相互通信,如果不通信的话就会访问不了,而要通信就必须知道服务部署在哪里,这时就需要知道ip,也需要指定ip,此时桥接网络和仅主机网络是不能满足我们的需求的,所以我们需要使用自定义网络进行操作。

        3.2 创建自定义网络 

1. 创建自定义网络 

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

0/16:分配会从0到16这几个ip进行选择

mynetwork:是名字 

2. 分配指定ip

docker run -it --name tomcat8 --net=mynetwork -v /javacy/software/mydocker/:/home/javacy/docker --ip 172.18.0.8 94d2357d288e /bin/bash

        3.3 测试

再开一个新的连接,查看ip是不是自己定义的

#查看网络 mynetwork是名字
docker network inspect mynetwork

可以发现创建成功了

也可以进入容器的内部,检查内部的网络情况

#查看镜像
docker images#进入容器内部 tomcat8是容器名字
docker exec -it tomcat8 /bin/bash#要进行下载,因为没有ifconfig这个命令
yum install -y vim#下载命令
yum install net-tools.x86_64 -y#查看命令
ifconfig

发现IP是固定 

相关文章:

Docker之网络配置

目录 一. Docker网络介绍 1.1 网络模式 1.2 bridge模式(默认模式) 1.2.1 什么是桥接模式 1.2.2 效果演示 1.2.3 桥接模式的特点 1.3 host模式 1.3.1 什么是host模式 1.3.2 仅主机模式的特点 二. Docker网络实操 2.1 bridge桥接模式 2.1 host仅主机模式 三. Docker自定义网络…...

Mybatis实现分页查询数据(代码实操讲解)

在MyBatis中实现分页查询的常见方式有两种:使用MyBatis内置的分页插件如PageHelper,或者手动编写分页的SQL语句。下面我将为你提供两种方式的示例代码。 使用PageHelper分页插件 首先,确保你的项目中已经添加了PageHelper的依赖。在Maven项…...

【自动驾驶技术系列丛书学习】1.《自动驾驶技术概论》学习笔记

《自动驾驶技术概论》学习笔记 致谢:作者:王建、徐国艳、陈竞凯、冯宗宝 -------------------------------------------------------------------------------------------------------- 笔记目录 《自动驾驶技术概论》学习笔记 1.汽车发展史 2.国…...

2023年全国职业院校技能大赛 GZ073网络系统管理赛项 模块A:网络构建(运维配置)

1.完成整网连通后,进入网络监控运维阶段,运维软件已安装在PC的虚拟机中,通过运维平台监控拓扑中所有网络设备(AP除外)。考试现场提供运维平台登陆的用户名密码信息。 2.通过运维平台将被监控设备纳入监控范围;通过拓扑配置功能,将网络拓扑配置到平台中。...

Linux设备模型(八) - sysfs

一,sysfs目录介绍 sysfs是一个基于内存的虚拟的文件系统,有kernel提供,挂载到/sys目录下,负责以设备树的形式向user space提供直观的设备和驱动信息。 sysfs以不同的视角展示当前系统接入的设备: /sys/block 历史遗…...

C语言实现Linux下的UDP服务端和客户端

程序实现了UDP服务端和客户端&#xff0c;客户端发送消息后等待服务端响应。 udp_server.c: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> #include <netinet/ip.h> …...

Excel小技巧 (2) - 如何去除和增加前导0

1. 如何去除前导0 公式&#xff1a;SUBSTITUTE(A2,0,"")&#xff0c;然后拖动十字架&#xff0c;同步所有列数据&#xff0c;轻松搞定。 2. 如何补充前导0 公式&#xff1a;TEXT(D2,"0000000") &#xff0c;0的个数是数字的完整位数。然后拖动十字架&a…...

【GIS人必看】ArcPy脚本如何导入到ArcToolBox中(上)【建议收藏】

经常使用ArcGIS的朋友应该知道&#xff0c;ArcGIS平台可以支持非常丰富的全栈链二次开发&#xff0c;比如ArcPy脚本开发、ArcGIS Engine桌面端开发、ArcGIS AddIn插件开发、WebGIS开发、移动端GIS开发等。当然&#xff0c;这些技术本人全部精通&#xff0c;后面会给大家陆续介绍…...

AI入门笔记(三)

神经网络是如何工作的 神经网络又是如何工作的呢&#xff1f;我们用一个例子来解释。我们看下面这张图片&#xff0c;我们要识别出这些图片都是0并不难&#xff0c;要怎么交给计算机&#xff0c;让计算机和我们得出同样的结果&#xff1f;难点就在于模式识别的答案不标准&…...

Linux搭建SFTP服务器

案例&#xff1a;搭建SFTP服务器 SFTP&#xff08;SSH文件传输协议&#xff09; SFTP&#xff08;SSH文件传输协议&#xff09;是一种安全的文件传输协议&#xff0c;用于在计算机之间传输文件。它基于SSH&#xff08;安全外壳协议&#xff09;的子系统&#xff0c;提供了加密的…...

MobaXterm无法上传整个文件夹,只能上传的单个文件

问题描述&#xff1a; 本来想使用MobaXterm上传.vscode文件夹上传到服务器&#xff0c;但是选择文件夹打开后只能选择文件夹下面的子文件无法上传整个文件。 解决方案&#xff1a; 1、简单暴力 2、压缩后解压...

Android 中get请求网络数据 详细举例

请求链接 https://api.bilibili.com/x/web-interface/ranking 1.添加网络权限 依赖等 implementation com.squareup.okhttp3:okhttp:4.9.3 implementation com.google.code.gson:gson:2.8.92.写请求类network package com.example.myapplication;import android.graphics.Bi…...

每日五道java面试题之mysql数据库篇(六)

目录&#xff1a; 第一题. MySQL中InnoDB引擎的行锁是怎么实现的&#xff1f;第二题. InnoDB存储引擎的锁的算法有三种第三题. 什么是死锁&#xff1f;怎么解决&#xff1f;第四题. 数据库的乐观锁和悲观锁是什么&#xff1f;怎么实现的&#xff1f;第五题. 为什么要使用视图&a…...

Latex——多张图排列

一、方式一&#xff08;subfig 与 subfloat 配合使用&#xff09; % Need&#xff1a;\usepackage{subfig} \begin{figure}[htbp] % \setlength{\abovecaptionskip}{0.2cm} % \setlength{\belowcaptionskip}{-0.5cm} \centering\subfloat[MOT15]{\label{fig:a}\includegrap…...

前端复选框问题-节点赋值未选中最后显示时确变成选中状态?

问题&#xff1a; 前两天一同事请教我&#xff1a;前端复选框问题-节点赋值未选中最后显示时确变成选中状态&#xff1f; 还有就是明明传过为的是false&#xff0c;在控制台上打印确变成选中状态&#xff0c;如下图&#xff1a; 以下是前端vue代码&#xff1a; <Scroll h…...

JavaScript命名标识符规范,前端开发面试

前端的现状 提到现状&#xff0c;必须先提到一个概念 大前端。由于近几年互联网的发展&#xff0c;尤其是移动互联网的发展&#xff0c;有的大前端概念将 Native 归入前端的范畴&#xff0c;有的大前端概念将 Node 甚至只渲染页面的 PHP 归入前端范畴&#xff0c;但不管怎么说…...

从零学习Linux操作系统 第三十部分 部署Anisble

一、ansible实验环境的部署 主控机 更改服务器主机名 hostnamectl set-hostname westos_ansible.westos.org 主服务器需要能够实现上网 修改网卡使之能够上网 能ping通 代表可以连接外网 搭载本地软件仓库 并且挂载镜像 装载 dnf install httpd -y 让其开机启动并且…...

C++对象模型剖析(六)一一Data语义学(三)

Data 语义学&#xff08;三&#xff09; “继承” 与 Data member 上期的这个继承的模块我们还剩下一个虚拟继承&#xff08;virtual inheritance&#xff09;没有讲&#xff0c;现在我们就来看看吧。 虚拟继承&#xff08;Virtual Inheritance&#xff09; 虚拟继承本质就是…...

Java 代理模式详解(附案例源代码)

前言 Java代理模式是一种设计模式&#xff0c;在 Java 开发中被广泛应用。它允许我们通过添加一个代理对象来控制对另一个对象的访问&#xff0c;从而提供了一种间接访问实际对象的方法。 代理模式可以分为静态代理和动态代理两种。静态代理是在代码实现阶段就确定了代理…...

七牛云 上传 文件 file is empty

问题 七牛云 上传 文件 file is empty 详细问题 笔者进行Android 开发&#xff0c;使用URI上传文件&#xff0c;上传核心代码 具体报错信息 {ver:8.7.0,ResponseInfo:1709276329412131,status:-6, reqId:, xlog:null, xvia:null, host:null, time:1709276329,error:file is…...

PasteMD用户调研报告:2024年文档格式转换需求分析

PasteMD用户调研报告&#xff1a;2024年文档格式转换需求分析 1. 调研背景与核心发现 最近整理了500份来自不同行业用户的实际反馈&#xff0c;这些反馈不是问卷里的标准答案&#xff0c;而是真实工作场景中留下的痕迹——有深夜赶论文时的抱怨截图&#xff0c;有项目汇报前的…...

利用快马平台十分钟快速构建开源项目网站原型:以openclaw101为例

作为一个经常参与开源项目的开发者&#xff0c;我深知快速验证想法的重要性。最近在尝试为开源项目openclaw101搭建网站时&#xff0c;发现InsCode(快马)平台能完美解决从零搭建的繁琐过程。下面分享如何用十分钟完成一个具备完整功能的项目网站原型。 明确需求与功能规划 首先…...

TCT亚洲展|直击3D打印前沿盛宴,解锁增材制造新趋势

近日&#xff0c;2026 TCT亚洲展在上海国家会展中心圆满落幕&#xff0c;作为亚太地区规模最大、专业性最强的3D打印与增材制造行业盛会&#xff0c;本届展会汇聚全球550余家头部展商&#xff0c;集中呈现了从工业级设备、高性能材料到全场景应用方案的全产业链创新成果&#x…...

2026最权威的AI写作神器解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在学术研究范畴之内&#xff0c;人工智能技术的深度交融催生出了多种具备专业性的学术辅助平…...

第一次降AIGC率不知道从哪入手?这份保姆级操作手册帮你

第一次操作的话&#xff0c;照着下面的步骤来&#xff0c;15分钟内搞定降AIGC率、降AI工具保姆级测评2026、降AI。 工具选嘎嘎降AI&#xff08;www.aigcleaner.com&#xff09;&#xff0c;达标率99.26%&#xff0c;有退款保障&#xff0c;操作也不复杂。 准备工作 需要准备的…...

Pixel Epic智识终端效果展示:跨领域研报生成一致性与专业性验证

Pixel Epic智识终端效果展示&#xff1a;跨领域研报生成一致性与专业性验证 1. 产品概览与核心价值 Pixel Epic智识终端是一款基于AgentCPM-Report大模型构建的专业研究报告生成工具。与传统AI工具不同&#xff0c;它创新性地采用了像素RPG游戏的美学设计&#xff0c;将枯燥的…...

Phi-4-mini-reasoning推理模型5分钟快速上手:数学题逻辑题一键解答

Phi-4-mini-reasoning推理模型5分钟快速上手&#xff1a;数学题逻辑题一键解答 1. 为什么选择Phi-4-mini-reasoning&#xff1f; 如果你经常需要解决数学题、逻辑题或者需要一步步分析的问题&#xff0c;Phi-4-mini-reasoning就是为你量身定制的AI助手。这个模型不像那些通用…...

效率提升秘籍:使用快马AI一键生成动漫视频批量处理与格式转换工具

效率提升秘籍&#xff1a;使用快马AI一键生成动漫视频批量处理与格式转换工具 最近接手了一个动漫视频处理的项目&#xff0c;需要将大量不同格式的动漫视频统一转换为高清MP4格式&#xff0c;并生成预览缩略图。手动处理不仅耗时耗力&#xff0c;还容易出错。于是我开始寻找自…...

保姆级教程:在Ubuntu 20.04上搞定Montreal Forced Aligner (MFA) 2.0安装与验证

保姆级教程&#xff1a;在Ubuntu 20.04上搞定Montreal Forced Aligner (MFA) 2.0安装与验证 语音对齐技术正在成为语音处理领域的基础工具&#xff0c;而Montreal Forced Aligner&#xff08;MFA&#xff09;作为当前最流行的开源解决方案&#xff0c;其2.0版本带来了显著的性…...

OpenHarmony基线移植实战:从开源仓到定制仓的完整路径

1. 为什么需要移植OpenHarmony基线&#xff1f; 第一次接触OpenHarmony基线移植时&#xff0c;我也很困惑&#xff1a;为什么不能直接用官方开源代码&#xff1f;非要折腾这一套移植流程&#xff1f;直到在实际项目中踩了几个坑才明白&#xff0c;基线移植是产品开发的必经之路…...