将公共IP分配给Docker容器:VPS +多个IP,docker macvlan:没有互联网

时间:2020-10-19 09:14:28

标签: docker ip vps docker-container 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

但是我仍然无法从容器内部连接到互联网……。

0 个答案:

没有答案
相关问题