docker入门加实战—网络

news2024/11/18 12:17:58

docker入门加实战—网络

我们运行了一些容器,但是这些容器是否能够进行连通呢?那我们就来试一下。

我们查看一下MySQL容器的详细信息:

主要关注,Networks.bridge.IPAddress属性信息:

docker inspect mysql
# 或者过滤一些信息
docker inspect --format='{{range .NetworkSettings.Networks}}{{println .IPAddress}}{{end}}' mysql

MySQL容器ip地址

可以看到ip地址为:172.17.0.2

同理,可以nginx容器ip为:172.17.0.3

nginx容器ip

可以看到他们有相同网段,他们都有相同的网关。

默认情况下,所有容器都是以bridge方式连接到Docker的一个虚拟网桥上:

图示

/16表示ip地址的前16位不能动,也就是前两段不能动;也就是这里不能动。

不能动的段

容器的网络IP其实是一个虚拟的IP,其值并不固定与某一个容器绑定,如果我们在开发时写死某个IP,而在部署时很可能MySQL容器的IP会发生变化,连接会失败。

所以,我们必须借助于docker的网络功能来解决这个问题,官方文档:

https://docs.docker.com/engine/reference/commandline/network/

常见命令有:

命令说明文档地址
docker network create创建一个网络docker network create
docker network ls查看所有网络docs.docker.com
docker network rm删除指定网络docs.docker.com
docker network prune清除未使用的网络docs.docker.com
docker network connect使指定容器连接加入某网络docs.docker.com
docker network disconnect使指定容器连接离开某网络docker network disconnect
docker network inspect查看网络详细信息docker network inspect

自定义网络

查看网络

docker network ls

查看网络

创建网络

docker network create sjdwz_network

创建网络

再次查看网络:

再次查看网络

通过

ip addr

查看如下:

查看结果

可以看到多出来一个网卡;

让容器加入网络

让MySQL容器加入网络,并指定别名db

# mysql容器,指定别名为db,另外每一个容器都有一个别名是容器名
docker network connect sjdwz_network mysql --alias db

把我们的dd容器也加入到网络,不指定别名

docker network connect sjdwz_network dd

注意 容器创建时连接网络可以如下操作:可以加--network 网络名加入,比如:

docker run -d --name dd -p 8080:8080 --network sjdwz_network docker-demo:1.0 

测试互连

进入到dd容器

docker exec -it dd bash

ping Mysql

ping mysql

验证可以连通:

连通结果

所以:

  • 在自定义网络中,可以给容器起多个别名,默认的别名是容器名本身
  • 在同一个自定义网络中的容器,可以通过别名互相访问

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

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

相关文章

RT-Thread学习笔记(二):RT-Thread内核

RT-Thread内核 什么是RTOS?RTOS内核包含哪些内容?RT-Thread内核架构RT-Thread系统架构 RT-Thread内核文件RT-Thread系统启动流程RT-Thread 内核配置文件 什么是RTOS?RTOS内核包含哪些内容? RTOS(Real Time Operating System)指的…

PyTorch 深度学习之循环神经网络(基础篇)Basic RNN(十一)

0.Revision: DNN dense 重义层 全连接 RNN处理带有序列的数据 1. What is RNNs? linear layer 1.1 What is RNN? tanh (-1, 1) 1.2 RNN Cell in PyTorch 1.3 How to use RNNCell *先把维度搞清楚 多了一个序列的维度 2. How to use RNN 2.1 How to use RNN - numLayers…

nginx正反向代理,负载均衡

Nginx 正向代理,反向代理 ,负载均衡 Nginx有两种代理协议 七层代理(http协议) 四层代理(tcp/udp流量转发) 四层代理七层代理概念 四层代理 四层代理:基于tcp/ip协议层的转发代理方式&#…

grid网格布局,比flex方便太多了,介绍几种常用的grid布局属性

使用flex布局的痛点 如果使用justify-content: space-between;让子元素两端对齐,自动分配中间间距,假设一行4个,如果每一行都是4的倍数那没任何问题,但如果最后一行是2、3个的时候就会出现下面的状况: /* flex布局 两…

Android versionCode会变成指定数值加001、002、003等后缀

“活久见”—今天遇到个奇怪的问题,指定的versionCode最终在打包出来的apk中,versionCode变成(指定数值 00X的形式) 如下所示: 注:当前build.gradle中的versionCode为26 后来搜索代码,发现原来是这个配置导…

系统架构与Tomcat的安装和配置

2023.10.16 今天是学习javaweb的第一天,主要学习了系统架构的相关知识和原理,下载了web服务器软件:Tomcat,并对其进行了配置。 系统架构包括:C/S架构 和 B/S架构。 C/S架构: Client / Server(…

052:mapboxGL同一个图层,设置每个feature不同的颜色

第052个 点击查看专栏目录 本示例是介绍演示如何在vue+mapbox中同一个图层,设置每个feature不同的颜色。 这里的数据都是点,通过每个geojson数据的属性中color的值,来同通过get的方式将颜色值挂在到circle-color上。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实…

JavaFX:控件边框设置

JavaFX中控件的边框也可以进行设置。主要有两种方式,一种是Java方式,一种是CSS方式。 JavaFX中控件继承自Region类。setBorder方法用来设置边框属性。 // The border of the Region, which is made up of zero or more BorderStrokes, and zero // or …

Python制作PDF转Word工具(Tkinter+pdf2docx)

一、效果样式 二、核心点 1. 使用pdf2docx完成PDF转换Word 安装pdf2docx可能会报错,安装完成引入from pdf2docx import Converter运行也可能报错,可以根据报错提示看缺少那些库,先卸载pip uninstall xxx,使用pip install python-docx -i htt…

[架构之路-238]:目标系统 - 纵向分层 - 网络通信 - 网络规划与设计框架

目录 一、需求分析 二、网络规划与设计 三、逻辑网络设计 四、物理设计 五、分层网络设计 5.1 接入层交换机 5.2 汇聚层交换机 5.3 核心层交换机 六、网络存储技术 七、IPV6 八、综合布线系统 九、物联网 十、云计算 十一、云存储 一、需求分析 二、网络规划与设…

Hadoop3教程(十五):MapReduce中的Combiner

文章目录 (103)Combiner概述什么是CombinerCombiner有什么用处Combiner有什么特点如何自定义Combiner (104)Combiner合并案例实操如何从日志里查看Combiner如果不存在Reduce阶段,会发生什么自定义Combiner的两种方式 参…

error=‘Cannot allocate memory‘ (errno=12)

Bug信息 OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000080000000, 716177408, 0) failed; error=Cannot allocate memory (errno=12)Bug本质原因 服务器内存不足,Java程序无法启动 查看服务器剩余内存 free -h常用的解决思路 减小服务中对JVM的…

基于vue实现滑块动画效果

主要实现:通过鼠标移移动、触摸元素、鼠标释放、离开元素事件来进行触发 创建了一个滑动盒子,其中包含一个滑块图片。通过鼠标按下或触摸开始事件,开始跟踪滑块的位置和鼠标/触摸位置之间的偏移量。然后,通过计算偏移量和起始时的…

2023年10月工作经验及问题整理总结

目录 1.window自带的base64加密解密 2.ElementUI修改鼠标移动到表格的背景色 3.vscode保存时几万个eslint错误 4.Git 拉取Gitee仓库报错:“fatal: unable to access ": Failed to connect to 127.0.0.1 port 1080: Connection r... 4.1本地查看Git是否使用…

Python爬虫-雪球网

前言 本文是该专栏的第8篇,后面会持续分享python爬虫案例干货,记得关注。 地址:aHR0cHM6Ly94dWVxaXUuY29tLw== 需求:根据目标搜索词,获取搜索结果数据 废话不多说,跟着笔者直接往下看详细内容。(附带完整代码) 正文 1. 请求方式和参数分析 使用浏览器打开链接之后,…

【深度学习实验】循环神经网络(四):基于 LSTM 的语言模型训练

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. RNN与梯度裁剪 2. LSTM模型 3. 训练函数 a. train_epoch b. train 4. 文本预测 5. GPU判断函数 6. 训练与测试 7. 代码整合 经验是智慧之父,记忆…

详解 ElasticSearch 集群搭建

🌹 以上分享 ElasticSearch 安装部署,如有问题请指教写。🌹🌹 如你对技术也感兴趣,欢迎交流。🌹🌹🌹 如有需要,请👍点赞💖收藏🐱‍&a…

【微信小程序】6天精准入门(第2天:小程序的视图层、逻辑层、事件系统及页面生命周期)

一、视图层 View 1、什么是视图层 框架的视图层由 WXML 与 WXSS 编写,由组件来进行展示。将逻辑层的数据反映成视图,同时将视图层的事件发送给逻辑层。WXML(WeiXin Markup language) 用于描述页面的结构。WXS(WeiXin Script) 是小程序的一套脚本语言&am…

【每日一题】倍数求和

文章目录 Tag题目来源题目解读解题思路方法一:一次遍历 其他语言cpython3 写在最后 Tag 【一次遍历】【数组】【2023-10-17】 题目来源 2652. 倍数求和 题目解读 找出 [1. n] 范围内可以被 3、5、7 整除的所有整数之和。 解题思路 方法一:一次遍历 …

字符串排序程序

字符串排序程序,对一个字符串中的数值进行从小到大的排序 例如排序前给定的字符串为" 20 78 9 -7 88 36 29" 排序后: -7 9 20 29 36 78 88 要求使用包装类对数值类型的字符串转换成整型进行排序。 public class StringSort {public static vo…