Я создаю кластер из трех док-контейнеров zookeeper в одной системе. Административный сервер первого докера zookeeper работает с использованием порта 8080, поэтому для двух других контейнеров Zoo он выдает Failed to bind to /0.0.0.0:8080, используемый адрес. Я использую версию зоопарка как zookeeper: 3.5.6.
Теперь мой вопрос: как назначить другой порт администратора для сервера администратора zookeeper, отличный от 8080?
Я пробовал разные варианты установки сервера администратора на разные порты, но ничего не получалось.
1) - zookeeper.admin.serverPort=8078
2) - ZOO_CFG_EXTRA="admin.serverPort=8077"
3) - admin.serverPort=8078
Ниже представлен докер для одного смотрителя зоопарка.
zk2:
hostname: ${LOCAL_HOST}
image: ${ZOOKEEPER_IMAGE}
environment:
- u=${USER}:${USER}
- JVM_OPTS=-Xmx12g -Xms12g -XX:MaxPermSize=2048m
- ZOO_MY_ID=${ZOO_MY_ID2}
- ZOO_SERVERS=${ZOO_SERVER_1} ${ZOO_SERVER_2} ${ZOO_SERVER_3}
- ZOO_ADMINSERVER_ENABLED=true
- ZOO_STANDALONE_ENABLED=false
- zookeeper.admin.serverPort=8078
volumes:
- ${VOLUMES_PATH}/zk2/data:/data
- ${VOLUMES_PATH}/zk2/logs:/datalog
network_mode: "host"
ports:
- ${ZOOK_CL_PORT2}:${ZOOK_CL_PORT2}
- ${ZOOK_SR_PORT2}:${ZOOK_SR_PORT2}
- ${ZOOK_EL_PORT2}:${ZOOK_EL_PORT2}
- ${ZOOK_ADM_PORT2}:8078"
Может ли кто-нибудь предложить мне, как это сделать?