docker-compose - 如何在创建网络的情况下映射 docker-compose 中容器的接口名称?
问题描述
我正在使用 docker-compose(版本 1.21.1)3 个 docker 容器和两个网络进行设置:
version: '2.1'
services:
app1:
build:
context: .
dockerfile: "Dockerfile"
depends_on:
- redis
networks:
- pub
- default
redis:
build:
context: "tests/redis"
networks:
- default
app2:
build:
context: "tests/app2"
networks:
- pub
- default
networks:
pub:
enable_ipv6: true
ipam:
driver: default
config:
- subnet: "172.16.238.0/24"
- subnet: "fe80::42:acff:fe10:ee04/64"
default:
在 app1 中:
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
696: eth0@if697: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:10:ee:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.16.238.3/24 brd 172.16.238.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe10:ee03/64 scope link
valid_lft forever preferred_lft forever
inet6 fe80::3/64 scope link nodad
valid_lft forever preferred_lft forever
698: eth1@if699: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:c0:a8:f0:04 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.240.4/20 brd 192.168.255.255 scope global eth1
valid_lft forever preferred_lft forever
但是,我希望 eth1 支持 IPv6,或同时支持 eth0 和 eth1。该文档没有提及任何相关内容,我也无法在network options中找到一个选项。有没有办法做到这一点?
解决方案
我必须为这两个网络启用 ipv6 并对 IPv6 子网进行子网划分。对于 CIDR 部分,我使用了一个用于 IPv6 的在线子网计算器,但是我还不确定为什么会这样:p
这是有效的配置:
networks:
default:
enable_ipv6: true
ipam:
driver: default
config:
- subnet: "2001:db8:8000::/33"
pub:
enable_ipv6: true
ipam:
driver: default
config:
- subnet: "2001:db8::/33"
推荐阅读
- kubernetes - Kubernetes worker节点外部ip如何获取
- python - 为什么以及如何从类(python)中的外部范围解析阴影参数名称?
- nestjs - 向所有队列订阅者发送消息很热?
- c# - 如何读取 JSON 文件并在控制台应用程序 c# 中显示它
- symfony - 使用 bin/console 获取 AppFixtures::load 错误
- python - 尝试使用 onnx-tf 库将 .onnx 模型转换为 .pb 模型
- jquery - 将 Django 中的 json 数据输入到 jquery 函数中
- python - 在句点“.”之后提取文本 来自 Pandas Dataframes 列中的值
- android - 当服务器数据需要在应用程序中刷新时
- r - 在数据框中移动行