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 в строке.