IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker自定义网络以及网络连通操作 -> 正文阅读

[系统运维]Docker自定义网络以及网络连通操作

Docker自定义网络?

由于使用Docker0默认网络,是无法实现通过服务名相互 ping 通操作,一般现在都是 docker自定义网络。

Docker如何自定义网络?

查看所有网络 docker network ls

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker network ls
NETWORK ID ? ? NAME ? ? ?DRIVER ? ?SCOPE
bac2fa49ec66 ? bridge ? ?bridge ? ?local
064163c429d0 ? host ? ? ?host ? ? ?local
d0e962ce0544 ? mynet ? ? bridge ? ?local
2d78385bb383 ? none ? ? ?null ? ? ?local
4941a2003d7c ? redis ? ? bridge ? ?local

网络模式解释一下

bridge :桥接模式(默认)

none:不配置网络

host:和宿主机共享网络

container:容器网络连通(用的比较少)

创建网络

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker network create --help

Usage:  docker network create [OPTIONS] NETWORK

Create a network

Options:
      --attachable           Enable manual container attachment
      --aux-address map      Auxiliary IPv4 or IPv6 addresses used by Network driver (default map[])
      --config-from string   The network from which to copy the configuration
      --config-only          Create a configuration only network
  -d, --driver string        网络模式 默认是桥接 (default "bridge")
      --gateway strings      网关(常用)
      --ingress              Create swarm routing-mesh network
      --internal             限制外网网络连接到这个网络
      --ip-range strings     从子一个ip范围分配容器ip
      --ipam-driver string   IP Address Management Driver (default "default")
      --ipam-opt map         Set IPAM driver specific options (default map[])
      --ipv6                 启动 IPv6 网络
      --label list           Set metadata on a network
  -o, --opt map              Set driver specific options (default map[])
      --scope string         Control the network's scope
      --subnet strings       子网掩码(常用)

创建网络命令

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

网络模式:桥接 子网掩码 192.168.0.0/16 范围是 192.168.0.255 ~ 192.168.255.255
网关是 192.168.0.1

如果是 192.168.0.0/24 证明最多是 255 个网卡

查看创建网络
docker network ls

?查看具体信息

?测试启动两个容器,进行相互ping通测试

?启动第一个容器

?docker run -it --network mynet --name mycentos-net-01?centos /bin/bash
Ctrl+P+Q 退出

启动第二个容器?

?docker run -it --network mynet --name mycentos-net-02?centos /bin/bash

Ctrl+P+Q 退出

测试两个通过容器名称是否可以ping通过操作

发现是可以相互 ping 通的,这时候就知道自定义网络比 --link 强大多了

自定义网络是可以通过服务名相互 ping 通的,而--link 不行,再者就是自定义网络可以发向相互ping?

?网络连通

?思考一个这样的场景:

例如我使用docker0 网络运行了两个centos 01 和 centos02 服务,使用了 mynet 运行了 mycentos-net-01 和?mycentos-net-02 服务,现在需要用centos01 和?mycentos-net-02 互通网络,应该如何?

运行两个容器

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker run -it --name centos01?centos

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker run -it --name centos02?centos

都是Ctrl+P+Q 退出

测试ping

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker exec -it centos01 ping mycentos-net-01
ping: mycentos-net-01: Name or service not known
是无法 ping 通的?

原因是 docker0 和 mynet 是两个不同网段来的,怎么可能 ping 通,所以现在只能采用 容器 和 自定义网络 ping

centos01 ping mynet 操作

采用docker network connet 命令?Connect a container to a network

链接一个容器到一个网络

Usage: ?docker network connect [OPTIONS] NETWORK CONTAINER

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker network connect mynet centos01
?思考一下为什么通过 connect 命令就可以通 跨网段 ping 呢?

查看一下 mynet 网络

docker network inspect mynet

?我们会发现在 mynet网络中,存在centos01,意思就是 connect 命令后,相当于?centos01网络配置添加到了 mynet中,理解为:阿里云服务器 一个官网ip 一个私网ip地址,那么一个容器 两个IP地址。

查看centos01 的 hosts 网络配置文件?

docker exec -it centos01 cat /etc/hosts

结论:假设要跨网络操作别人,就需要使用docker network connect 连通!?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:50:40  更:2021-08-10 13:51:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 19:19:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码