Сбой драйвера при программировании внешнего подключения: ... bind: невозможно назначить запрошенный адрес - PullRequest
0 голосов
/ 22 ноября 2018

В моей среде разработки я хочу смоделировать развертывание "веб-фермы", где у меня есть несколько "физических" узлов, работающих с несколькими службами, которые принадлежат одной и той же сети.

Итак, скажем, у меня есть 5 узлов, каждый узел будет содержать приложения 1 mysql, 1 nginx и 2 webmysql будет привязан к одному и тому же порту 3306, но по разным ip-адресам.

Я начал записывать конфигурацию docker-compose и остановился на самом первом шаге: Docker отказывается создавать новый ip в данной сети и привязывать mysql к порту на этом ip.

конфигурация, которую я пытаюсь использовать:

version: "3"

services:
    node1_sql:
        image: mariadb:10.0.33
        restart: always
        networks:
          skkb:
            ipv4_address: 10.9.2.2
        ports: 
         - 10.9.2.2:3306:3306
        environment:
         - MYSQL_DATABASE=dbname
         - MYSQL_ROOT_PASSWORD=password
        volumes:
         - ./sql_data/1:/var/lib/mysql
        command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci

networks:
    skkb:
        driver: bridge
        ipam:
            driver: default
            config:
                - subnet: 10.9.2.0/24

Когда я пытаюсь сделать docker-compose up, я получаю следующую ошибку:

Creating network "node-r_skkb" with driver "bridge"
Creating node-r_node1_sql_1 ... error

ERROR: for node-r_node1_sql_1  Cannot start service node1_sql: driver failed programming external connectivity on endpoint node-r_node1_sql_1 (24a8412b80ebc95f5b15f5d4ea5281639d6914f312f525cf8803ed5179b906a7): Error starting userland proxy: listen tcp 10.9.2.2:3306: bind: cannot assign requested address

ERROR: for node1_sql  Cannot start service node1_sql: driver failed programming external connectivity on endpoint node-r_node1_sql_1 (24a8412b80ebc95f5b15f5d4ea5281639d6914f312f525cf8803ed5179b906a7): Error starting userland proxy: listen tcp 10.9.2.2:3306: bind: cannot assign requested address
ERROR: Encountered errors while bringing up the project.

Если я пытаюсь привязаться к 10.9.2.1,это работает без проблем.Поэтому мне кажется, что он не может создать новый IP-адрес, настроенный как ipv4_address: 10.9.2.2

Есть идеи, как это исправить?

...