316 字
2 分钟
Deploying Single-Node RabbitMQ + Exporter with Docker
Resource List
| Host | IP |
|---|---|
| rabbitmq | 10.0.0.1 |
| Software | Version |
|---|---|
| docker | 20.10.12 |
| docker-compose | 1.23.1 |
| rabbitmq | 3.8.34 |
I. Installing Docker
1. Use a domestic yum repository
# yum install -y yum-utils device-mapper-persistent-data lvm2# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2. Uninstall old versions of docker
## If docker is already installed on the host and it's not the version you want, uninstall it first.# yum remove -y docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine \ container*3. Install Docker 20.10
# yum -y install docker-ce-20.10.12-3.el7 docker-ce-cli-20.10.12-3.el74. Configure registry mirror
# mkdir /etc/docker# vi /etc/docker/daemon.json
{ "registry-mirrors": ["https://xxxxxxxxx.mirror.aliyuncs.com"]}5. Start docker
# systemctl start docker# systemctl enable docker# systemctl status dockerII. Installing Docker-compose
1. Install Docker-compose
## github.com may time out; you can use the following URL, download locally, then upload to the server# curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# curl -k "https://dl.cactifans.com/zabbix_docker/docker-compose" -o /usr/bin/docker-compose
# chmod a+x /usr/bin/docker-compose2. Check docker-compose version
# docker-compose versionIII. Deploying the Services
1. docker-compose.yaml resource definition
version: '3'
services: rabbitmq: image: rabbitmq:3.8.34-management hostname: rabbitmq container_name: rabbitmq deploy: resources: limits: cpus: '1' memory: 2G ports: - "15672:15672" - "15692:15692" - "5672:5672" # rabbitmq-exporter port - "9419:9419" volumes: - /data/rabbitmq/:/var/lib/rabbitmq - /etc/localtime:/etc/localtime restart: always
rabbitmq_exporter: image: kbudde/rabbitmq-exporter:1.0.0-RC19 container_name: rabbitmq_exporter environment: RABBIT_USER: admin RABBIT_PASSWORD: admin depends_on: - rabbitmq network_mode: "service:rabbitmq" restart: always2. Deploy the services
# docker-compose up -d
# docker-compose ps -a3. Initialize RabbitMQ account information
# cat init_rabbitmq.sh
#!/bin/bash
# reset first nodeecho "1、Reset first rabbitmq node."docker exec rabbitmq /bin/bash -c 'rabbitmqctl stop_app'docker exec rabbitmq /bin/bash -c 'rabbitmqctl reset'docker exec rabbitmq /bin/bash -c 'rabbitmqctl start_app'
# add user and userroleecho "2、Starting to create user."docker exec rabbitmq /bin/bash -c 'rabbitmqctl add_user admin admin'
echo "3、Set tags for new user."docker exec rabbitmq /bin/bash -c 'rabbitmqctl set_user_tags admin administrator'
echo "4、Grant permissions to new user."docker exec rabbitmq /bin/bash -c "rabbitmqctl set_permissions -p '/' admin '.*' '.*' '.*'"
echo "5、Delete guest user"docker exec rabbitmq /bin/bash -c "rabbitmqctl delete_user guest"# bash init_rabbitmq.sh Deploying Single-Node RabbitMQ + Exporter with Docker
https://catcat.blog/en/docker-install-rabbitmq-exporter.html