由于目前Docker 在IPv6网络中运行的相关配置并非默认自动生成的,所以需要大家根据自己的网络环境来具体做一些相应配置,具体如下:

本次操作是在 Ubuntu16/18或者CentOS7 OS上面 通过docker官网手册安装方式 安装的Docker程序

第一步 在 docker 配置文件 添加IPv6配置参数

配置文件路径均为/etc/docker/daemon.json
如果改文件不存在,请直接创建
 
如果docker运行的寄主机已经成功获取到IPv6公网地址并能够正常访问IPv6公网资源后,还不知道怎么给docker分配对应的IPv6地址,
则可直接将 docker 的默认IPv6网段设置为 fc00:17:1:1::/64 (可以理解为IPv6的内网地址)
 
{
"ipv6": true,
"fixed-cidr-v6": "fc00:17:1:1::/64"
}

之后需要手动对刚才的IPv6内网地址设置NAT转换(因为docker 在IPv4的环境下会自动将内网地址做NAT转换)

并通过 -L 来查看NAT配置是否添加成功

ip6tables -t nat -A POSTROUTING -s fc00:17:1:1::/64 -j MASQUERADE
ip6tables -t nat -L

最后重新启动 docker 服务

systemctl restart docker

效果如下:

经过上述配置后,通过docker run 方式启动(利用默认的bridge网络模式)的容器即可自动获取到fc00:1:1::/64 网段中的IPv6地址。

并能够继承Host寄主机的网络资源环境。

如果你想使用 docker-compose 的方式来启动一组容器的话,那还需要对之前使用的 docker-compose.yml 文件进行部分升级,具体如下:

首先,compose的版本需要使用

version: '2.1'

然后在每一个services中添加网络参数(举例存在一个名为 app_net 的网络)

    networks:
app_net:

之后在yml文件的最后添加 app_net 这个网络的具体参数:

networks:
app_net:
driver: bridge
enable_ipv6: true
ipam:
driver: default
config:
- subnet: 172.19.0.0/24
gateway: 172.19.0.1
- subnet: fc00:32:1:1::/120
gateway: fc00:32:1:1::1

其中给这个网络分配的IPv6网段是 fc00:32:1:1::/120 (不要与之前deamon.json中的网段有重合),/120网段可以提供 256个的可用地址

然后把这个IPv6内网地址段(fc00:32:1:1::/120) 利用  ip6tables -t nat 的指令(同上)将该地址段成功添加到host 寄主机中的 IPv6 nat配置中即可

之后再用 ip6tables -t nat -L  查看是否添加成功

最后利用访问一些公网的IPv6地址来测试网络是否搭建成功即可。

Docker IPv6 网络环境配置的更多相关文章

  1. CentOS(六)--Linux系统的网络环境配置

    Linux系统下的网络环境配置,Linux.Unix就是网络的世界,所以在Linux系统中如何配置网络环境变量是至关重要的,这里将会给出3种Linux系统下网络环境配置的方法! 在配置网络环境之前,首 ...

  2. Linux虚拟机修改ip地址,查看网关,网络环境配置

    修改虚拟机的ip地址: 进入如下界面,直接修改子网ip即可. 查看网关: Linux网络环境配置: 第一种方式(自动获取): 说明:登陆后,通过界面来设置自动获取ip 我们先进入设置: 把自动连接勾上 ...

  3. docker从零开始网络(七) 配置daemon和容器

    启用IPv6支持 在Docker容器或swarm服务中使用IPv6之前,需要在Docker守护程序中启用IPv6支持.之后,您可以选择将IPv4或IPv6(或两者)与任何容器,服务或网络一起使用. 注 ...

  4. Windows Server 2008在网络环境配置打印机

    下面学习在Windows Server2008在网络环境搭建打印机服务器,打印机服务器也是很常用的,特别是在中大型企业里面,打印机数量比较多为方便管理,可以搭建一个打印机服务,这里介绍一下,本地打印机 ...

  5. linux网络环境配置

    第一种方法: (red hat) (1)用root身份登录,运行setup命令进入到text mode setup utility 对网络进行配置,这里可以进行ip,子网掩码,默认网关,dns的设置. ...

  6. 七、【Docker笔记】Docker中网络基础配置

    一个系统一般都包含多个服务组件,这些大量的服务组件不可能放在同一个容器中,这就需要多个容器之间可以互相通信.Docker提供了两种方式来实现网络服务:映射容器端口到宿主主机.容器互联机制. 一.端口映 ...

  7. docker的网络基础配置

    一.端口映射实现访问容器 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数来指定端口映射.当使用-P标记时,Docker会随机映射一个49000~49900的端口至容器内部开放 ...

  8. 宿主机网络中其它机器与Docker容器网络互通配置

    前言 目前项目采用微服务架构进行开发,Nacos和其它服务部署到Docker中,Docker中容器采用的网络默认是桥接模式(Bridge),默认的子网码是172.17.0.1/16:宿主机是192.1 ...

  9. Linux 安装配置 NET模式网络环境配置

    1.下载linux:发行版 Ubuntu  REdHat centos Debain Fedora,SUSE,OpenSUSEcentos 6.xcentos 7.x在虚拟机(VmWare)上 安装l ...

  10. (原创)openvswitch实验连载2-cisco模拟器IOU-Web安装及网络环境配置

    IOU的使用可以选择自己到官网https://docs.google.com/file/d/0B2AgRhS2cfxCQ01tN2NrQ0pvNUk/edit下载iou-web 软件,然后部署在lin ...

随机推荐

  1. 阿里云maven仓库地址的配置

    两种配置方式: 1. maven 配置文件配置settings.xml中设置mirror节点 <mirror> <id>nexus-aliyun</id> < ...

  2. C#程序如何把窗体文件从一个项目中复制到另一个项目

    一个窗体有三个文件,全部拷贝到新的项目中 在新的项目中点击显示所有文件,然后右击导入的文件,点击包括在项目中,会自动修改颜色(此时还没有被识别为窗体) 重启这个项目,三个文件已经被识别出来了 原文链接 ...

  3. [转]Java Swing组件编程之JTable表格用法实例详解

    原文链接: Java Swing组件编程之JTable表格用法实例详解

  4. 基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v5.0版已发布

    关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...

  5. OpenMMLab AI实战营 第四课笔记

    OpenMMLab AI实战营 第四课笔记 目录 OpenMMLab AI实战营 第四课笔记 目标检测与MMDetection 1.什么是目标检测 1.1 目标检测的应用 1.1.1 目标检测 in ...

  6. Android 系统使RNDIS网卡上网

    背景说明: 一位台湾客户需要采购一批SIMCOM SIM6600CE模组用于Tinker board2s,需要适配Debain系统和Android系统. 主要修改点: 1.defconfig 增加RN ...

  7. c# set Webbowser version with WPF/Winform app

    <Window x:Class="TestWPF.MainWindow" xmlns="http://schemas.microsoft.com/winfx/200 ...

  8. 【Git】---工作区、暂存区、版本库、远程仓库

    工作区.暂存区.版本库.远程仓库 一.概念 1.四个工作区域 Git本地有四个工作区域:工作目录(Working Directory).暂存区(Stage/Index).资源库(Repository或 ...

  9. DBeaver连接PostgreSQL后只有默认数据库“postgres”不显示其他数据库的问题解决办法

    我们在使用DBeaver连接PostgreSQL后,发现数据库中只有"postgres"默认数据库,不显示我们自己创建的数据库. 1.问题描述 我们在使用DBeaver连接Post ...

  10. P6108 [Ynoi2009] rprsvq 积分题解

    给 EI 题解写注 qwq.. 化简方差: \[\frac{1}{n}\sum(a_i-\overline a)^2\\ =\frac{1}{n}(\sum a_i^2-2\overline {a}\ ...