简单实例:
docker run --name first-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7# macosdocker pull --platform linux/x86_64 mysql:5.7
挂载本地磁盘
docker run --name mysql7 -p 3306:3306 -v /d/DockerSpace/mysql/data:/var/lib/mysql -v /d/DockerSpace/mysql/log:/var/log/mysql -v /d/DockerSpace/mysql/conf/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7# -v 宿主机目录:容器内目录,默认是rw读写模式,ro表示只读,默认只读# /d/DockerSpace/... 是Windows系统中 D:/DockerSpace/...# 执行指令的时候弹出确认是否挂载分享盘符D盘,点击确认即可# 随系统自动启动加参数: --restart=always
注:
要先在本地建目录 data、log、conf 目录
conf 目录下建 my.cnf 文件并配置, 如:
# The MySQL Server configuration file.## For explanations see# http://dev.mysql.com/doc/mysql/en/server-system-variables.html[mysql]#设置mysql客户端默认字符集default-character-set=utf8[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysqlsecure-file-priv= NULL# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0#服务端使用的字符集默认为8比特编码的latin1字符集character_set_server = utf8#创建新表时将使用的默认存储引擎default-storage-engine=INNODBsql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'#设置不区分大小写# 必须在安装好MySQL后 修改mySQL配置文件设置为不敏感,一旦启动后,再设置是无效的,而且启动报错;# 如果已经晚了,那必须把MySQL数据库文件全部 删除,修改配置文件再启动。lower_case_table_names=1
参考:
