ipv6服务器配置docker,network与MySQL

介绍:

ipv6是网际协议的最新版本,用作互联网的协议。用它来取代IPv4主要是为了解决IPv4地址枯竭问题,同时它也在其他方面对于IPv4有许多改进。IPv6的设计目的是取代IPv4,然而长期以来IPv4在互联网流量中仍占据主要地位,IPv6的使用增长缓慢。因此ipv6服务器相比ipv4服务器费用更低。

docker作为一个实力强大的开源的应用容器引擎,深受广大开发者的喜爱。新手刚开始用ipv6服务器配置docker和装一些镜像时会遇到一些错误。如docker默认是ipv4协议,当在docker里建立network时,端口映射是ipv4,而不是ipv6,所以需docker要开启ipv6。

docker配置开启ipv6:

这里用的是 Ubuntu 系统

通过修改daemon配置文件/etc/docker/daemon.json来开启和配置ipv6,与使用加速器

  • “ipv6”: true => 开启ipv6
  • “fixed-cidr-v6”: “2001:db8:bcc7:28f0:9090:aeae:f592:d222/64” => ipv6范围
  • “registry-mirrors”: [] => 这里面配置docker镜像源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:bcc7:28f0:9090:aeae:f592:d222/64",
  "registry-mirrors": []
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

建个 ipv6 的network

普通建的 network 是ipv4协议,ipv6需要配置。

  • --ipv6: 启用 IPv6 支持。
  • --subnet: 指定 IPv6 子网。
  • --gateway: 指定网关地址。
  • network_name :换成要建立的网络名称
docker network create --ipv6 --subnet 2001:db8:bcc7:28f1::/64 --gateway 2001:db8:bcc7:28f1::1 network_name

注意:上速命令可能会报错:

root@ser:~# docker network create --ipv6 --subnet 2001:db8:bcc7:28f0::/64 --gateway 2001:db8:bcc7:28f0::1 test
Error response from daemon: invalid pool request: Pool overlaps with other one on this address space

此时,选择使用不同的 IPv6 子网创建新网络即可

配置MySQL

MySQL默认是不开启ipv6的,这里需要开启。docker创建容器时分配上面创建的网络。
创建成功并启动后进入容器执行命令
使用 echoprintf 命令直接将配置追加到文件中

echo "bind-address = ::" >> /etc/mysql/my.cnf

然后重启MySQL就行了。此时,建立nginx容器分配ipv6网络后,服务器放行对应端口,外网也能访问了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值