需求docker+MySQL容器镜像
新建一个目录
mkdir mysql
进入目录
cd mysql
下载MySQL容器,这里已8.0.43为例子
docker pull mysql:8.0.43
创建一个conf文件夹
mkdir conf
进入conf文件夹
cd conf
创建并且编辑my.cnf文件
vim my.cnf
写入内容
[mysqld]
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
log_error_suppression_list='MY-013360'
character_set_server=utf8
lower_case_table_names=1
group_concat_max_len=1024000
log_bin_trust_function_creators=1
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock
!includedir /etc/mysql/conf.d/
保存退出
进入到mysql目录
cd ../
创建一个mysql的网络
docker network mysql
编辑docker-compose.yaml文件
vim docker-compose.yaml
写入内容
services:
mysql:
image: mysql:8.0.43
container_name: mysql #可以自定义
restart: always
environment:
MYSQL_ROOT_PASSWORD: 密码 # root的密码,可以自定义
networks:
- mysql
ports:
- 3306:3306
volumes:
- ./data/:/var/lib/mysql
- ./conf/my.cnf:/etc/my.cnf
- ./log:/var/log/mysql
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
labels:
createdBy: "Apps"
command:
- --default-authentication-plugin=mysql_native_password
networks:
mysql :
external: true
启动MySQL容器
docker-compose up -d
docker compose up -d
不提示错误就说明完成了,可以部署一个phpmyadmin来管理数据库。