由于目前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. AI在线文档手册

    AI在线文档手册 ABCDFGHIKLMNOPRSTW A Accord.NET 英文文档Azure ML StudioAmazon Machine LearningAmazon Rekognitio ...

  2. VUE3基础环境搭建

    VUE3基础环境搭建 1. 安装vue.js npm install vue -g 安装webpack Webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bun ...

  3. CDS标准视图:维护计划员组 I_MAINTENANCEPLANNERGROUP

    视图名称:维护计划员组 I_MAINTENANCEPLANNERGROUP 视图类型:基础视图 视图代码: 点击查看代码 @EndUserText.label: 'Maintenance Planne ...

  4. 权限对象:B_BUP_PCPT

    权限对象:B_BUP_PCPT 事务代码: BUPA_PRE_EOP CVP_PRE_EOP(需要SFW5激活SAP Information Lifecycle Management,事务码IRMPO ...

  5. KeyDB-键值存储

    KeyDB项目是从redis fork出来的分支.众所周知redis是一个单线程的kv内存存储系统,而KeyDB在100%兼容redis API的情况下将redis改造成多线程. 多线程架构 线程模型 ...

  6. weixueyuan-Nginx代理服务器5

    https://www.weixueyuan.net/nginx/proxy_server/ Nginx HTTP代理服务器 代理功能根据应用方式的不同可以分为正向代理和反向代理.正向代理是客户端设置 ...

  7. C++类相互包含

    1. 两个类需要相互包含的情景 在观察者模式中,气象站的数据送给某些布告牌. 气象站要知道通知哪些布告牌,所以气象站类至少有一个布告牌类型的链表. 布告牌需要把自己注册到气象站类,告诉气象站类自己已经 ...

  8. rpc项目中的长连接与短连接的思考

    对于rpc项目,在接受大佬指导的时候曾问过对于长连接和短连接是处理处理的,在面试的时候也被问起socket是长连接还是短连接,发现自己没有好好思考过这个问题,因此好好总结一下. 前置知识点:rpc基础 ...

  9. java中线程的创建方式-休眠-生命周期-工作方式

    进程 进程的定义:进程是操作系统分配资源的基本单位.每个进程都有自己独立的内存空间和系统资源. 进程的独立性:进程之间是相互独立的,一个进程的崩溃不会影响到其他进程. java中的体现:在Java中, ...

  10. DBeaver连接SqlServer报“The server selected protocol version TLS10 is not accepted by client prefere”的错误

    1.问题描述 DBeaver在连接SqlServer时,出现如下图所示的错误: The server selected protocol version TLS10 is not accepted b ...