引言:作为一名专业的资深开发,本地一定拥有了不少开源项目以供学习,每次都要去启动 mysql 数据库跟 redis 服务器,这种操作1.挺烦的,挺费时间,每次都要启动命令来一次;2.占用自己电脑的资源,本来服务开多了电脑就累,这些公共的东西太费电脑了。因此能快捷的把这些服务搭在一些便宜的云服务器上,是我喜欢的方式,趁着618、双 11 这些节去薅一薅云服务商的羊毛搞一台,把这些中间件部署上去,本地配置文件一修改只要负责启动项目就行了,这种感觉太棒了!
那么速搭首选 docker,实在是太太太快了!
因此[docker]这个系列的 yml 就是为速搭准备的,配置文件不是最优,但最快,基本满足常规使用,我会持续优化更新…
- 安装 docker -> https://www.runoob.com/docker/centos-docker-install.html
- 安装 docker-compose -> https://www.runoob.com/docker/docker-compose.html
mkdir -p /docker
新建 docker-compose-mysql.yml 后面跟着做就行了
/docker/docker-compose-mysql.yml
注意 mysql 密码
version: '3'
services:
mysql:
image: mysql:8.0.31
container_name: mysql
environment:
# 时区上海
TZ: Asia/Shanghai
# root 密码(按需修改)
MYSQL_ROOT_PASSWORD: password
# 初始化数据库(无则注释)
MYSQL_DATABASE: database
ports:
- "3306:3306"
volumes:
# 数据挂载
- /docker/mysql/data/:/var/lib/mysql/
# 配置挂载
- /docker/mysql/conf/:/etc/mysql/conf.d/
command:
# 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配)
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
privileged: true
network_mode: "host"
新建 mysql 配置目录以及编辑 my.cnf 文件(非必需)
mkdir -p /docker/mysql/conf
/docker/mysql/conf/my.cnf
# MySQL Server Configuration File
[mysqld]
# 设置 MySQL 数据目录
datadir=/var/lib/mysql
# 设置监听的 IP 地址
bind-address=127.0.0.1
# 设置端口号
port=3306
# 设置字符集
character-set-server=utf8mb4
# 设置日志文件路径
log-error=/var/log/mysql/error.log
# 设置 max_connections,最大连接数
max_connections=100
# 设置缓存大小
key_buffer_size=256M
# 设置临时表大小
tmp_table_size=64M
# 设置查询缓存大小
query_cache_size=32M
# 设置默认存储引擎
default-storage-engine=InnoDB
执行
docker-compose -f docker-compose-mysql.yml up -d
启动容器
redis 速搭传送门:https://blog.csdn.net/weixin_44462681/article/details/139410265