0%

docker-compose部署Mysql程序

docker-compose 部署 dockerc程序

要在 Docker 中安装 MySQL,并配置为开机自动启动、断线自动重启,并设置日志大小限制为 5MB,你可以按照以下步骤进行操作:

1、创建docker虚拟磁盘

docker volume create TestData   # 创建虚拟磁盘 TestData
# docker volume inspect TestData # 查看 Volume 物理路径
# docker volume rm TestData # # 删除卷
# docker exec -it mysql /bin/bash # 进入 mysql 容器

2、 创建 Docker Compose 文件

使用 Docker Compose 可以更方便地管理容器的配置。首先,确保你已经安装了 DockerDocker Compose

创建一个名为docker-compose.yml的文件,并添加以下内容:

services:
mysql:
image: mysql:latest
restart: always # 设置容器在退出时自动重启
environment:
MYSQL_ROOT_PASSWORD: your_root_password # 设置 MySQL root 用户的密码
MYSQL_DATABASE: your_database_name # 创建一个默认数据库
MYSQL_USER: your_username # 创建一个用户
MYSQL_PASSWORD: your_user_password # 设置用户密码
ports:
- "3306:3306" # 映射 MySQL 端口
volumes:
- TestData:/var/lib/mysql # 持久化数据 // 这里是上面 docker volume create TestData 创建的 TestData
- ./mysql_logs:/var/log/mysql # 持久化日志

volumes:
TestData: # 持久化数据 // 这里是上面 docker volume create TestData 创建的 TestData

3、 配置日志大小

要限制 MySQL 日志的大小为 5MB,你可以在 MySQL 配置中添加相关设置。创建一个名为 my.cnf 的配置文件,并添加以下内容:

[mysqld]

*# 设置日志文件大小限制*

max_binlog_size = 5M

4、更新 Docker Compose 文件以使用自定义配置

更新 docker-compose.yml 文件以使用自定义的 MySQL 配置文件:

services:
mysql:
image: mysql:latest
restart: always # 设置容器在退出时自动重启
environment:
MYSQL_ROOT_PASSWORD: your_root_password # 设置 MySQL root 用户的密码
MYSQL_DATABASE: your_database_name # 创建一个默认数据库
MYSQL_USER: your_username # 创建一个用户
MYSQL_PASSWORD: your_user_password # 设置用户密码
ports:
- "3306:3306" # 映射 MySQL 端口
volumes:
- mysql_data:/var/lib/mysql # 持久化数据
- ./mysql_logs:/var/log/mysql # 持久化日志
- ./my.cnf:/etc/mysql/conf.d/my.cnf # 使用自定义配置文件

volumes:
mysql_data:

5、启动 MySQL 容器

在包含 docker-compose.ymlmy.cnf 文件的目录中,运行以下命令以启动 MySQL 容器:

docker-compose up -d

# 停止并删除旧容器和卷
docker-compose down -v

# 重新创建容器
docker-compose up -d

6、验证 MySQL 容器状态

你可以使用以下命令检查 MySQL 容器的状态:

docker ps

7、查看日志

要查看 MySQL 容器的日志,可以使用以下命令:

docker logs <container_id_or_name>

总结

通过以上步骤,你应该能够成功在 Docker 中安装 MySQL,并配置为开机自动启动、断线自动重启,并设置日志大小限制为 5MB。如果你有其他问题或需要进一步的帮助,请告诉我!