Docker-compose keyrock конфигурация подсети mysql

Я создал файл docker-compose, чтобы развернуть свой стек FIWARE. Этот стек включает keyrock и Mysql BD, которые подключены через следующую подсеть:

networks:
    default:
        ipam:
            config:
                - subnet: 172.18.1.0/24

Я создал эту подсеть из-за того, что в документации keyrock говорится, что keyrock использует следующий ip: 172.18.1.5

Я хотел бы изменить этот IP-адрес keyrock, а также изменить подсеть. Как я могу изменить подсеть? Если я изменю подсеть и IP-адреса keyrock и mysql по умолчанию, между ними не будет связи.

1 ответ

Предположительно, документация, на которую вы ссылаетесь, - это образец файла docker-compose.yml.

keyrock:
    image: fiware/idm:7.8.0
    container_name: fiware-keyrock
    hostname: keyrock
    networks:
      default:
        ipv4_address: 172.18.1.5

Это определяет IP-адрес для keyrock (172.18.1.5), который приемлем для базы данных MySQL.

mysql-db:
    restart: always
    image: mysql:5.7
    hostname: mysql-db
...
    environment:
      - "MYSQL_ROOT_HOST=172.18.1.5"

В документации MySQL 5.7 указано:

MYSQL_ROOT_HOST: По умолчанию MySQL создает root'@'localhost Счет. К этой учетной записи можно подключиться только изнутри контейнера, как описано в разделе "Подключение к серверу MySQL изнутри контейнера". Чтобы разрешить корневые подключения с других хостов, установите эту переменную среды. Например, значение 172.17.0.1, которое является IP-адресом шлюза Docker по умолчанию, разрешает подключения с хост-компьютера, на котором работает контейнер. Параметр принимает только одну запись, но разрешены подстановочные знаки (например,MYSQL_ROOT_HOST=172.*.*.* или MYSQL_ROOT_HOST=%)

Вы можете изменить IP-адрес и диапазон на значения по вашему выбору, при условии, что вы также сохраните переменную docker ENV в строке.

Другие вопросы по тегам