Docker搭建MySql、Redis、RabbitMQ
阿新 • • 發佈:2022-04-10
Docker搭建MySql、Redis、RabbitMQ
1.1 安裝docker
(1)刪除老版本
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
(2) 安裝工具包並設定儲存庫
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
(3)安裝docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io
(4)docker基本使用命令
啟動docker
sudo systemctl start docker
檢查docker版本
docker -v
檢視docker已有映象
sudo docker images
設定docker開機啟動
sudo systemctl enable docker
(5)設定阿里雲映象倉庫
建立檔案
sudo mkdir -p /etc/docker
修改配置, 設定映象
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://vw9qapdy.mirror.aliyuncs.com"]
}
EOF
重啟後臺執行緒
sudo systemctl daemon-reload
重啟docker
sudo systemctl restart docker
docker查錯
sudo dockerd --debug
1.2 docker安裝mysql
(1)docker安裝mysql
sudo docker pull mysql:5.7
(2)docker啟動mysql
引數:
-
-p 3306:3306:將容器的3306埠對映到主機的3306埠
-
--name:給容器命名
-
-v /mydata/mysql/log:/var/log/mysql:將配置檔案掛載到主機/mydata/..
-
-e MYSQL_ROOT_PASSWORD=root:初始化root使用者的密碼為root
sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
(3)檢視docker啟動的容器:
sudo docker ps
(4)配置mysql
進入掛載的mysql配置目錄
cd /mydata/mysql/conf
修改配置檔案 my.cnf
vi my.cnf
輸入以下內容
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
# Esc
# :wq
docker重啟mysql使配置生效
docker restart mysql
(5)容器隨docker啟動自動執行
# mysql
docker update mysql --restart=always
1.3 docker安裝redis
(1)docker拉取redis映象
docker pull redis
(2)docker啟動redis
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
(3)啟動redis容器
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
(4)配置redis持久化
echo "appendonly yes" >> /mydata/redis/conf/redis.conf
#重啟生效
docker restart redis
(5)容器隨docker啟動自動執行
# redis
docker update redis --restart=always
1.4 docker安裝RabbitMQ
這裡使用docker安裝RabbitMQ
(1)切換root使用者
sudo -i
(2)安裝命令
#查詢rabbitMQ映象
docker search rabbitmq
#拉取rabbitMQ映象
docker pull rabbitmq
#執行rabbitMQ
docker run -d --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq
#進入容器
docker exec -it 容器id/容器名稱 /bin/bash
#安裝安裝外掛
rabbitmq-plugins enable rabbitmq_management
#退出當前容器
exit
(3)訪問:http://192.168.56.10:15672/# 使用者密碼都是guest
#常用命令
#停止容器
docker stop 容器id/容器名稱
#刪除容器
docker rm 容器id/容器名稱
(4)Stats in management UI are disabled on this [node]
docker exec -it {rabbitmq容器名稱或者id} /bin/bash
#進入容器後,cd到以下路徑
cd /etc/rabbitmq/conf.d/
#修改 management_agent.disable_metrics_collector = false
echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf
#退出容器
exit
#重啟rabbitmq容器
docker retart {rabbitmq容器id}
(5)容器隨docker啟動自動執行
#容器隨docker啟動自動執行
docker update rabbitmq --restart=always