Назначьте IP-адрес в контейнере Dock NetworkSettings - PullRequest
0 голосов
/ 14 мая 2018

Я сейчас пытаюсь запустить Docker-контейнер и хочу установить ip static для этого контейнера.Что я сделал до сих пор:

  1. Запустите подсеть сетевого набора подсети
  2. Запустите контейнер докера, установите IP-сеть с использованием --ip = "172.20.0.3" в качестве примера
  3. Проверьте контейнер докера, используя проверку докера, и найдите, что IPAddress еще не настроен или не вернул ""
  4. Проверка Docker возвращает IPAddress в сетях успешно назначен
  5. Проверка докером также возвращает IPAddress в настройках сети.не был назначен

Чтобы описать IP-адрес не установлен, пожалуйста, найдите детали проверки докера ниже:

     "NetworkSettings": {
        "Bridge": "",
        "SandboxID": "cc37c6777a8f65268ab088bc6587f463aee7c7878d1fa6045229e4c6ca9b8055",
        "HairpinMode": false,
        "LinkLocalIPv6Address": "",
        "LinkLocalIPv6PrefixLen": 0,
        "Ports": {
            "3306/tcp": [
                {
                    "HostIp": "0.0.0.0",
                    "HostPort": "3306"
                }
            ]
        },
        "SandboxKey": "/var/run/docker/netns/cc37c6777a8f",
        "SecondaryIPAddresses": null,
        "SecondaryIPv6Addresses": null,
        "EndpointID": "",
        "Gateway": "",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "IPAddress": "", //HERE IPAddress that i want to set
        "IPPrefixLen": 0,
        "IPv6Gateway": "",
        "MacAddress": "",
        "Networks": {
            "my-netto": {
                "IPAMConfig": {
                    "IPv4Address": "172.20.0.3"
                },
                "Links": null,
                "Aliases": [
                    "5b909fdca063"
                ],
                "NetworkID": "6697e2deabb509d0f4a207674909d19c552bb8b77d1c62bdc94b6979b1844f10",
                "EndpointID": "fd902fcf7351a777b90c7eed4c27a7255fa84aa9f705db84db226dd42c554faf",
                "Gateway": "172.20.0.1",
                "IPAddress": "172.20.0.3",
                "IPPrefixLen": 16,
                "IPv6Gateway": "",
                "GlobalIPv6Address": "",
                "GlobalIPv6PrefixLen": 0,
                "MacAddress": "02:42:ac:14:00:03",
                "DriverOpts": null
            }
        }
    }
}

]

Любая командадля установки IP-адреса в разделе NetworkSettings?

Любая помощь будет признательна.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Поскольку редактирование IP-адреса не разрешено в контейнере, я нахожу обходной путь, используя --link, и это работает как шарм.

В моем случае я хочу развернуть контейнер MySQL и развернуть другие приложения Node.js.,После нескольких статей я обнаружил, что докерская документация mysql готовит несколько случаев, когда вы хотите использовать mysql для подключения к другим приложениям.

Поэтому, когда я запускаю свои докерские приложения, я добавляю --link mysql-docker-name:mysql в команду запуска и в конфигурации базы данных ставим mysql в качестве хоста.

Надеюсь, это поможет вам, ребята, у которых было то же самоепроблема.

0 голосов
/ 14 мая 2018

Сначала вы должны создать сеть с помощью этой команды

docker network create --subnet=172.28.0.0/16 --ip-range=172.28.5.0/24 --gateway=172.28.5.254 name-of-network

Чем запустить контейнер с помощью этой команды:

docker run -it --name $container_name -d -h "$host_name" -p $host_port:8080 --ip="172.20.5.2" --mac-address="12:34:56:78:9a:bd" --network="name-of-network" $image-name

Вы можете запустить несколько контейнеров, используя вышеуказанную команду, просто изменив --ip и --mac-address

Надеюсь, это поможет.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...