Заявление об авторских правах: эта статья является оригинальной статьей блоггера и соответствует соглашению об авторских правах CC 4.0 BY-SA. Пожалуйста, приложите ссылку на оригинальный источник и это заявление для перепечатки.
Ссылка на эту статью:Гу Депэн.GitHub.IO/note/2019/1…
Установка One.rocketmq
1. Загрузка зеркала Rocketmq
docker pull rocketmqinc/rocketmq
2. Запустите mqnamesrv
docker run -d -p 9876:9876 --name mqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv
Используйте docker ps, чтобы проверить, успешно ли запущен (работает) контейнер mqnamesrv.
3. Запустите mqbroker
Создать файл конфигурации
echo "brokerIP1=x.x.x.x" > broker.properties
Вы можете создать его в любом каталоге, но вам нужно изменить абсолютный путь к файлу broker.properties в соответствующей команде запуска ниже.
Где x.x.x.x — это ip физической машины, на которой находится ваш докер, а затем запустите mqbroker, перезаписав конфигурацию brokerIP1.
Если он не перезаписан, IP-адрес брокера по умолчанию автоматически назначается в докере, поэтому к нему нельзя получить доступ извне.
docker run -d -p 10911:10911 -p 10909:10909 -v /path/broker.properties:/opt/rocketmq-4.4.0/bin/broker.properties --name mqbroker --link mqnamesrv -e "NAMESRV_ADDR=mqnamesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c broker.properties
Где /path — это абсолютный путь к файлу broker.properties. Используйте docker ps, чтобы проверить, успешно ли запущен (работает) контейнер mqbroker.
2. Установка консоли Rocketmq
1. Загрузка зеркала консоли Rocketmq
docker pull rocketmqinc/rocketmq
2. Запустите консоль RocketMQ
docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=x.x.x.x:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 -t styletang/rocketmq-console-ng
Где x.x.x.x — это ip-адрес физической машины, на которой находится ваш докер (то есть ip + порт, к которому может получить доступ ваш mqnamesrv)
Или используйте метод ссылки для подключения к сети
docker run --link mqnamesrv -e "JAVA_OPTS=-Drocketmq.namesrv.addr=mqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 -t styletang/rocketmq-console-ng
Интерфейс консоли выглядит следующим образом: