如何解决将公共IP分配给Docker容器:VPS +多个IP,docker macvlan:没有互联网
VPS,Ubuntu 20.04(云实例)
VPS具有2个公共IP映射到NIC(ens3)
最近几天,我试图为基于macvlan网络的docker容器分配一个公共IP。不知何故,我无法在Docker容器内部与外部网关建立Internet连接。无法ping或无法获得更新。
我已经添加了我遵循的步骤:
示例:
IP已映射到NIC(ens3)
IP 1: 12.14.28.245
IP 2: 12.14.28.246
网关:12.14.28.1
第1步:配置:01.netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: no
dhcp6: yes
addresses:
- 12.14.28.245/24
- 12.14.28.246/24
gateway4: 12.14.28.1
步骤2:创建docker macvlan网络
docker network create --driver=macvlan --subnet=12.14.28.0/24-gateway=12.14.28.1 custom_net "-o parent=ens3
第3步:Docker运行
docker run -d --name $container_name --net=custom_net --ip=12.14.28.246 --dns=8.8.8.8 -itd--privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro jrei/systemd-ubuntu
步骤4:Docker网络检查custom_net
"Networks": {
"custom_net": {
"IPAMConfig": {
"IPv4Address": "12.14.28.246"
},"Links": null,"Aliases": [
"973e66960fb8"
],"NetworkID": "2e8bf527ec65f97191028cfca43750611b7ab47d752098dcd9c7d765b5022ed3","EndpointID": "d2cd7373b8c010495eefb9e3ef2189e7c8df204db174644e068082db58cee1f1","Gateway": "12.14.28.1","IPAddress": "12.14.28.246","IPPrefixLen": 24,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"MacAddress": "02:42:1f:0e:61:f6","DriverOpts": null
步骤5:docker exec -it $ container_name bash
ping google.com
但是我仍然无法从容器内部连接到互联网……。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。