docker--扩展学习-网络--命令--15

2023-11-12

docker–扩展学习-网络–命令–15


1、创建网络

1.1、简单创建容器

# 创建
docker network create net111
# 查看
docker network inspect net111

在这里插入图片描述

在这里插入图片描述

1.2、指定参数创建容器

# ----创建----
docker network create -d bridge \
# 指定子网络,在bridge网络中只可以指定一个子网络,而在overlay网络中支持多个子网络。
--subnet=192.168.0.0/16 \
# 指定网关
--gateway=192.168.0.100 \
# 指定IP 范围
--ip-range=192.168.1.0/24 \
--aux-address="my-switch=192.168.1.6" \
net333

 
# ----查看----
docker network inspect net333

在这里插入图片描述

在这里插入图片描述

2、将容器连接到网络

docker network connect networkName containerName
 
  1. 将containerName容器连接到networkName网络中
  2. 1个容器可以连接到多个不同网络驱动的网络中

2.1、创建两个容器,c1 和 c2

# 加入默认bridge网络
docker run -itd --name=c1 busybox
# 加入默认bridge网络
docker run -itd --name=c2 busybox

在这里插入图片描述

2.2、创建一个网络 net444


docker network create -d bridge --subnet 172.26.0.0/16 net444

2.3、c2 容器 连接网络 net444

# 容器连接网络
docker network connect net444 c2
 
# 查看网络
docker network inspect net444

在这里插入图片描述

c2,自动分配到了IP地址。此时c1,仍然连接在默认的bridge网络。

2.4、启动容器c3,且指定IP地址


# 指定网络是net444,IP是 172.26.3.3
docker run --network=net444 --ip=172.26.3.3 -itd --name=c3 busybox

# 查看网络
docker network inspect net444

在这里插入图片描述

2.5、c2的网络

c2创建的时候,默认加入bridge网络,我们手动连接了网络net444,这个时候c2有2个网络

在这里插入图片描述

# 进入正在运行的容器
docker attach c2
# 查看网络
ifconfig

在这里插入图片描述

2.6、可以通过容器名称访问网络

# 进入正在运行的容器
docker attach c2
 
同一网络支持

c2和c3都在net444网络

在这里插入图片描述

不同网络不支持

c1在bridge网络
c2在net444网络

在这里插入图片描述

3、断开容器的网络

断开c2和net444网络的连接

# 断开网络
docker network disconnect net444 c2


# 查看网络
docker network inspect net444

在这里插入图片描述

4、删除网络

4.1、删除指定名称的网络

# 创建
docker network create net555
# 删除
docker network rm  net555

在这里插入图片描述

4.2、删除全部未使用的网络

docker network prune

在这里插入图片描述

5、列出Docker主机上的全部网络

docker network ls

在这里插入图片描述

6、网络别名

6.1、创建容器时指定

# 创建
docker network create net666
# 创建容器指定网络别名是alias_666
docker run --network=net666 --network-alias alias_666 -itd --name=c5 busybox
# 进入容器
docker attach c5
# ping  网络别名 alias_666
ping alias_666

在这里插入图片描述

6.2、创建容器之后追加网络别名

在这里插入图片描述

7、查看路由

route -n

在这里插入图片描述

7、网桥

7.1、安装网桥

# 安装网桥
yum install -y bridge-utils
 

7.2、查看网桥

 
查看网桥
brctl show

在这里插入图片描述

7.3、创建网桥

# 创建网桥
[root@zhoufei ~]# brctl  addbr br0
# 配置网关IP
[root@zhoufei ~]# ifconfig  br0 18.18.0.1


在这里插入图片描述

8、查看iptables规则

iptables-save

内容

[root@zhoufei ~]# iptables-save
# Generated by iptables-save v1.4.21 on Sun Feb 13 20:06:21 2022
*filter
:INPUT ACCEPT [508:37682]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [325:51996]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER - [0:0]
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN
COMMIT
# Completed on Sun Feb 13 20:06:21 2022
# Generated by iptables-save v1.4.21 on Sun Feb 13 20:06:21 2022
*nat
:PREROUTING ACCEPT [8:1754]
:INPUT ACCEPT [8:1754]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
-A DOCKER -i docker0 -j RETURN
COMMIT
# Completed on Sun Feb 13 20:06:21 2022
[root@zhoufei ~]# 


8.1、其中nat表中的POSTROUTING链有这么一条规则

-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE


8.1.1、参数说明

-s 172.17.0.0/16

源地址172.17.0.0/16

-o docker0

指定数据报文流出接口为docker0

-j MASQUERADE

动作为MASQUERADE(地址伪装)

8.1.2、含义

将源地址为172.17.0.0/16的数据包(即Docker容器发出的数据),当不是从docker0网卡发出时做SNAT。
这样一来,从Docker容器访问外网的流量,在外部看来就是从宿主机上发出的,外部感觉不到Docker容器的存在。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker--扩展学习-网络--命令--15 的相关文章

随机推荐

  • Mycat/Mysql主从复制搭建详解

    Mycat server 1 6 mysql 5 7 24 linux 工具下载地址 mycat mysql navivat 链接 https pan baidu com s 1KCmSgXYXs9O5vHMHIgnbAg 提取码 ukaq
  • java 操作ES 增删改查总结

    本实例框架采用 nutz ES 如果 您查找相关知识 请注意过滤不相干的信息 controller 层 package com test ownasset controller import java io File import java
  • centOS 6 服务管理与服务脚本

    服务管理与服务脚本 linux服务 服务管理与服务脚本 linux服务 服务启动过程详解 chkconfig命令 非独立服务与xinetd进程 一个特殊的服务脚本 服务启动过程详解 在开机启动过程中 我们计算机的各种服务也会按照配置信息启动
  • python 数据标准化

    def datastandard from sklearn import preprocessing import numpy as np x np array 1 1 2 2 0 0 0 1 1 print 原始数据为 n x print
  • 交换机上抓包

    1 常用交换机抓包方式 华为 华三 锐捷交换机一般使用packet capture命令可以进行抓包 Arista交换机通过在bash下 使用linux命令tcpdump进行抓包 Cisco nexus 抓包使用ethanalyze命令 具体
  • AS400银行核心系统开发中的技术总结--数据字典和枚举值

    数据字典和枚举值 在核心系统应用开发中 数据字典有举足轻重的作用 数据字典是对系统中所有字段的归纳抽象 需要规范同类字段的类型长度 方便定义和修改 但是 在过去的核心系统中 数据字典的理解往往也会有失误 常见的错误方法 是试图穷举定义所有可
  • Flink Client 使用技巧和心得(Flink on Zeppelin)

    Flink 链接Kafka 先建立catalog CREATE CATALOG flink hive WITH type hive default database imods hive conf dir home admin flink
  • 八个维度讲解秒杀系统架构分析与实战

    路人 Java充电社 2022 09 06 08 06 发表于上海 收录于合集 java充电社263个 大家好 我是路人 更多优质文章见个人博客 http itsoku com Java充电社 Java充电社 专注分享Java技术干货 包括
  • 最小熵原理

    种草很好的博文 苏剑林 2018 Apr 18 最小熵原理 一 无监督学习的原理 Blog post Retrieved from https spaces ac cn archives 5448 苏剑林 2018 Apr 24 最小熵原理
  • scrapy框架的使用

    1 什么是scrapy框架 文档地址 http scrapy chs readthedocs io zh CN 1 0 intro overview html 这个详细的文档地址 大家可以保存一下 之前的文章中也有一些链接大家可以保存下来方
  • 云计算中的存储基础知识

    物理存储方式 云计算中的三辆马车 计算 网络 存储 硬盘分为两种型态 机械硬盘 HDD 和固态硬盘 SSD 物理磁盘类型 SATA盘 串口硬盘 常用于个人电脑 物理磁盘类型 SAS盘 常用于服务器 物理磁盘类型 NL SAS盘 采用SAS磁
  • Doris-查询(三)

    目录 1 查询设置 1 1 增大内存 1 2 修改超时时间 1 3 查询重试和高可用 1 3 1 代码方式 1 3 2 JDBC Connector 1 3 3 ProxySQL 方式 2 简单查询 3 Join查询 3 1 Broadca
  • PyQT5播放音频

    最近自己写的一个软件需要在持续监测T box的信号强度值时 领导提出在信号低于阈值时给出警报或指示 之前的想法是在软件界面上加一个指示灯 但这样还是需要Tester去盯着屏幕 这样不友好 所以索性在通过声音的方式给出警示 这样就不用一直盯着
  • 基于sklearn的特征选择方法

    1 特征选择 我们主要关心以下几个问题 1 特征差异性 也就是一列特征值若几乎没有什么变化 那么这个特征对模型并没有什么作用 2 相关性大小 也就是该维特征与target的相互作用有多大 2 过滤法 1 方差判别 给定阈值 排除那些方差低于
  • GZ-2022034 物联网技术应用赛项赛题(Windows系统运行维护)

    任务书1 使用过程发现局域网内网络设备无法获取到有效IP 请配置DHCP服务分配的IP从172 16 工位号 150开始至172 16 工位号 200结束 并启用服务 使用路由器配置DHCP 在工作站计算机中使用DOS窗口测试服务器计算机8
  • exure9 秘钥_AxureRP9.0秘钥(持续更新)

    Axure RP 9 0 0 3717 3719 正式版 Axure Enterprise Edition Licensee Freecrackdownload com KEY 5vYpJgQZ431X G5kp6jpOO8Vi3TySCB
  • 嵌入式系统之linux系统编程---16 守护进程

    1 什么是守护进程 守护进程 守护进程运行在后台 不跟任何控制终端关联 2 怎么创建一个守护进程 有两个基本要求 a 守护进程必须作为 init 进程的子进程 b 守护进程不跟控制终端交互 创建守护进程的步骤 1 使用 fork 函数创建一
  • 百度云的sugar大屏模板1

    1 企业实时销售数据1 2 企业实时销售数据2 3 电商618大数据 4 实时数据分析 5 某平台智能监控系统
  • Spring WebFlux编写响应式Controller接口

    文章目录 一 基本概念 1 什么是响应式编程 2 响应式流中的各个角色和关系 二 Reactor简介 1 Mono与Flux 三 Spring WebFlux 1 简介 2 构建响应式Controller 3 使用函数式编程模型编写API
  • docker--扩展学习-网络--命令--15

    docker 扩展学习 网络 命令 15 1 创建网络 1 1 简单创建容器 创建 docker network create net111 查看 docker network inspect net111 1 2 指定参数创建容器 创建