資源リスト#
ホスト | IP |
---|---|
rabbitmq | 10.0.0.1 |
ソフトウェア | バージョン |
---|---|
docker | 20.10.12 |
docker-compose | 1.23.1 |
rabbitmq | 3.8.34 |
一、Docker
インストール#
1. 国内の yum
リポジトリを使用する#
# 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.repo
2. 古いバージョンの docker
をアンインストールする#
## もし既にインストールされているバージョンが目的のバージョンではない場合、アンインストールが必要です。
# 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. Docker20.10
バージョンをインストールする#
# yum -y install docker-ce-20.10.12-3.el7 docker-ce-cli-20.10.12-3.el7
4. イメージの加速を設定する#
# mkdir /etc/docker
# vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxxxxxxxx.mirror.aliyuncs.com"]
}
5. docker
を起動する#
# systemctl start docker
# systemctl enable docker
# systemctl status docker
二、Docker-compose
インストール#
1. Docker-compose
インストール#
## github.com へのアクセスがタイムアウトする場合、以下のコマンドを使用してダウンロードし、サーバーにアップロードしてください。
# 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-compose
2. docker-compose
のバージョンを確認する#
# docker-compose version
三、サービスのデプロイ#
1. docker-compose.yaml
リソースリスト#
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: always
2. サービスのデプロイ#
# docker-compose up -d
# docker-compose ps -a
3. rabbimq アカウント情報の初期化#
# cat init_rabbitmq.sh
#!/bin/bash
# reset first node
echo "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 userrole
echo "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