33 lines
1.5 KiB
Bash
33 lines
1.5 KiB
Bash
#!/bin/bash
|
||
|
||
# 检测 MySQL 容器是否在运行
|
||
if [ "$(docker ps -q -f name=mysql-container)" ] && [ "$(docker ps -q -f name=redis-container)" ]; then
|
||
echo "MySQL 容器已经在运行,退出脚本。"
|
||
exit
|
||
fi
|
||
|
||
# 下载 MySQL 8.0.33 镜像
|
||
docker pull mysql:8.0.33
|
||
|
||
# 下载 Redis Alpine 3.10 镜像
|
||
docker pull redis:alpine3.10
|
||
|
||
# 挂载 Redis 和 MySQL 配置目录以及数据存储目录到 /var/www 目录
|
||
mkdir -p /var/www/redis/config
|
||
mkdir -p /var/www/mysql/config
|
||
mkdir -p /var/www/mysql/data
|
||
|
||
# 启动 MySQL Docker 容器,并挂载配置目录和数据存储目录,设置 root 密码为 lansexiongdi@666,并开启远程连接
|
||
# 在容器内部创建新的 MySQL 配置目录
|
||
docker run -d --name mysql-container -v /var/www/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=lansexiongdi@666 -e MYSQL_ROOT_HOST='%' -p 3306:3306 mysql:8.0.33
|
||
# 等待 MySQL 容器启动
|
||
echo "等待 MySQL 容器启动..."
|
||
|
||
# 给 MySQL 的 root 用户授权远程登录
|
||
docker exec -it mysql-container mysql -uroot -p lansexiongdi@666 -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'lansexiongdi@666';SET GLOBAL log_bin = 'mysql-bin'; FLUSH PRIVILEGES;"
|
||
|
||
# 启动 Redis Docker 容器,并挂载配置目录,设置密码为 lansexiongdi@666
|
||
docker run -d --name redis-container -v /var/www/redis/redis.conf:/etc/redis.conf -v /var/www/redis/data:/var/lib/redis -e REDIS_PASSWORD=lansexiongdi@666 -p 6379:6379 redis:alpine3.10
|
||
|
||
echo "MySQL 和 Redis 容器已启动,并配置目录已挂载到 /var/www 目录。MySQL root 用户已授权远程登录。"
|