如何使用Docker创建自定义网络

news2024/11/26 18:55:01

目录

网络模式

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

 初识网络模式

查看桥接模式的特点

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

使用守护进程的方式创建并启动且进入容器

 查看仅主机模式下的网络配置

          端口映射 :​

         3.如何创建自定义网络 


网络模式

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

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

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 run -di centos:7【或者:docker start 容器名称】

当我们启动一个容器之后,可以通过 docker network inspect bridge 可以看到: 

 当关闭容器之后再通过 docker network inspect bridge 就已经没有了

 解析:

 当我分别启动两个容器之后,可以直观的看到两者ip地址 

通过 docker network inspect bridge 查看:

给两个容器都分配了不同的IP地址

桥接模式的特点:

使用桥接模式,可以使得虚拟服务器都有不同的IP地址。


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

使用守护进程的方式创建并启动且进入容器

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

 查看仅主机模式下的网络配置

docker network inspect host 

仅主机模式结论:

不会给容器分配虚拟IP地址。

补充一个知识点:docker rm -f  $(docker ps -aq)【删除所有容器】


还有一个问题,如果docker中有两个tomcat的话,一个怎么做才能区分跑的是哪一个呢?

答:采用桥接模式做端口映射。

端口映射 :

IP地址加上映射端口号即可访问:

浏览器搜索:192.168.3. 128:8081 

OK,访问成功,意味着端口映射成功!

通过 docker network inspect  bridge 可以查看到:

那么使用桥接模式进行端口映射这一块就到这里结束。 


使用仅主机模式启动一个Tomcat,那么就不需要做端口映射了。

docker run -di --name 容器名称 rong--net=host  容器ID

 访问成功!

 结论:

        部署单体应用的时候,可以使用仅主机模式,不需要进行端口映射。

        部署集群应用的时候,比如说Nginx负载个Tomcat时,那么就必须使用桥接模式进行端口映射。

docker run 
-di 
-v /chenchen/softpath/mydocker:/home/chenchen/docker -p 8083:8080 --name t10 
--net=bridge
--restart=always 2d2bccf89f53

#查看网络
docker network inspect mynetwork

 命令解析:

 

 启动成功!访问成功! 


         3.如何创建自定义网络 

为什么需要自定义网络,因为当使用docker引擎进行部署项目在容器中之后,会被分配随机IP,当关闭之后再开启时,所被分配的IP地址极大可能会不一样。那么

步骤:

#创建自定义网络【这一行命令时创建网桥】
docker network create --subnet=172.18.0.0/16 mynetwork

作用:创建容器的时候可以指定IP地址

创建容器

docker run -it --name tomcat8 --net=mynetwork -v /chenchen/software/mydocker/:/home/chenchen/docker --ip 172.18.0.8 f7f730b9e9eb /bin/bash

 

 

OK成功。因为不是守护进程的方式运行,所以现在换个控制台继续操作。 

成功啦!

如何删除自定义网络mynet(没有容器使用)

docker network rm mynet 

 本篇内容分享完毕,我们下期再见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/83715.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

启发式算法 之 模拟退火原理及实践

一、初窥其貌 1.1 启发式算法和元启发式算法 启发式算法是求解优化问题的一类方法,因为经典优化方法存在局限性,有时无法得到最优解,只能得到一个可以接受的近似最优解,启发式算法就适合求解这类问题。启发式算法就是专家的推测…

Redis框架(七):大众点评项目 缓存穿透、缓存击穿、缓存雪崩

大众点评项目 缓存穿透、缓存击穿、缓存雪崩需求:缓存穿透、缓存击穿、缓存雪崩处理策略缓存穿透处理缓存雪崩缓存击穿总结SpringCloud章节复习已经过去,新的章节Redis开始了,这个章节中将会回顾Redis实战项目 大众点评 主要依照以下几个原则…

吉时利Keithley静电计程控上位机软件-摩擦纳米发电机测试软件NS-EM

1、产品简介 NS-EM 静电计程控系统可实现对吉时利静电计的程控,通过此系统软件您可以单独程控静电计进行数据的采集的同时还可以利用告诉信号采集卡对测试获取的电压、电流等信号进行高频率采样并实时显示采集信号的波形图。 2、产品特点 ◆可远程进行仪器控制&am…

QF state machine 介绍

转型Qt小半年了,看到项目组用的Qt state machine signal和匿名函数满天飞,就想之前用的C#里的QF state machine 能不能做转到Qt平台。这样可以省去使用Qt状态机的信号,在这过程中学习借鉴了QF state machine 的鼻祖 QP框架,不知道…

编译原理笔记

第一课: 《编译原理求语法树的短语和直接短语等等》 二义性是什么? 如果最左推导和最右推导的结果不一致,那么说明文法有二义性 短语是什么? 找短语就是找能长叶子的结点,有五个如图圆圈标号1 2 3 4 5 直接短语&#x…

c语言:联合体—union

联合体一.基本认识1.一个联合体的基本样式2.内部成员的访问3.具体的内存分配二.大小端对联合体的影响三.一个问题一.基本认识 1.一个联合体的基本样式 看得出来其实跟我们定义结构体是一样的(如果还不大了解结构体的可以看看这篇博客什么是结构体)&…

[附源码]计算机毕业设计港口集团仓库管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis MavenVue等等组成,B/S模式…

MoveIT1 Assistant 总结

文章目录环境步骤备注故障问题解决参考接上一篇,生成URDF后,在MoveIT Assistant生成配置用于运动规划。https://blog.csdn.net/woshigaowei5146/article/details/128237105?spm1001.2014.3001.5501 环境 Ubuntu20.04;ROS1 Noetic;VMware 步…

生成模型(一):GAN

生成对抗网络 (GAN)在许多生成任务中显示出很好的结果,以复制真实世界的丰富内容,例如图像、文字和语音。它受到博弈论的启发:一个生成器和一个判别器,在互相竞争的同时让彼此变得更强大。然而,训练 GAN 模型相当具有挑…

一篇解析Linux paging_init

说明: Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio 1. 介绍 从详细讲解Linux物理内存初始化中,可知在paging_init调用之前,存放Kernel Image和…

java计算机毕业设计ssm幼儿英语学习平台的设计与实现yofnu(附源码、数据库)

java计算机毕业设计ssm幼儿英语学习平台的设计与实现yofnu(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支…

注册微信小程序

文章目录1. 项目结构2. 页面组成3. json配置文件4. 认识页面5. WXML6. WXSS7. js文件8. 宿主环境9. 组件10. API11. 协同工作与发布跟公众号平台不共用一个账号,需要用其它邮箱另行注册,填写身份证信息(姓名、身份证号码)&#xf…

[附源码]Node.js计算机毕业设计电商后台管理系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

我妈眼中我的房间

ONE This is Me in My room as a teenager according to My Mother. 在我老妈眼里,这就是十几岁待在房间里的我。 ✨ 评论区 1️⃣ It’s all true. 这都是真的。 2️⃣ As a father - yep that’s you. 作为一个父亲,没错就是你。 3️⃣ Looking…

基于C语言开发(控制台)通讯录管理程序【100010030】

通讯录程序设计 一、课程设计题目与要求 题目 :通讯录管理程序 1. 问题描述 ​ 编写一个简单的通讯录管理程序。通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。 2. 基本要求 程序应提供的基本基本管理…

Biotin-PEG-Pyrene,Pyrene-PEG-Biotin,芘丁酸-PEG-生物素peg化芘衍生物

聚乙二醇化芘衍生物之Pyrene-PEG-Biotin(Biotin-PEG-Pyrene),其化学试剂的中文名为芘丁酸-聚乙二醇-生物素,此试剂可用于碳纳米管和石墨烯表面功能化。它所属分类为Biotin PEG Pyrene PEG。 peg试剂的分子量均可定制,…

机器学习实战教程(二):决策树基础篇

一、决策树 决策树是什么?决策树(decision tree)是一种基本的分类与回归方法。举个通俗易懂的例子,如下图所示的流程图就是一个决策树,长方形代表判断模块(decision block),椭圆形成代表终止模块(terminating block),表…

简单架构演变过程概图

单一应用就是一个jar包或者war包丢到tomcat等服务器上运行,耦合度很高,前后不分离,就是一整个应用 演变成 MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就…

1567_AURIX_TC275_电源管理_待机模式

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 进入待机模式前需要有序关闭各个模块以避免出现大的电流突变;之后,所有额度外设以及相关的中断全都关闭以避免异常唤醒;进入待机模式的过程中会有系统时…

JS中一个方法同时发送两个ajax请求出现报错问题的解决方法

目录 1、背景介绍 2、分析原因 3、解决办法 1、背景介绍 在实现前端显示后端数据时遇到这样一个问题:在js同一个方法中调用2个ajax,其中ajax1与ajax2之间没有联系,但是为了看效果需要同时请求数据显示,运行程序却报错,…