docker配置数据库 MySQL 下载 docker pull mysql 挂载数据卷 首先创建一个测试,查看配置文件的目录 docker run --name mysqltest \ -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root \ -d mysql 然后进入mysql,查看文件路径,会按照优先级排序 docker exec -it mysqltest bash # 查找Docker内,MySQL配置文件my.cnf的位置 mysql --help | grep my.cnf # order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 查看挂载数据目录 docker inspect mysqltest 在Mounts中 "Mounts": [ { "Type": "volume", "Name": "7e319050fc7b3b01487eac0fbc48b331fc318cede3fe2ef814ca806b45ce0451", "Source": "/var/lib/docker/volumes/7e319050fc7b3b01487eac0fbc48b331fc318cede3fe2ef814ca806b45ce0451/_data", "Destination": "/var/lib/mysql", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ], 创建本地挂载目录 mkdir -p /home/docker/mysql/conf && mkdir -p /home/docker/mysql/datadir 将测试容器里 MySQL 的配置文件复制到该路径。日后需改配置,直接在挂载路径的配置文件上修改即可。 docker cp mysqltest:/etc/my.cnf /home/docker/mysql/conf 创建新的容器,并启动 docker run --name database \ -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root \ --mount type=bind,src=/home/docker/mysql/conf/my.cnf,dst=/etc/my.cnf \ --mount type=bind,src=/home/docker/mysql/datadir,dst=/var/lib/mysql \ --restart=on-failure:3 \ -d mysql docker exec -it name bash # 提示输入密码,密码默认123456 mysql -uroot -p123456 # 修改密码 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; flush privileges; docker #教程 #项目 docker配置数据库 https://dreamerland.cn/2024/04/07/服务器技术杂项/docker配置数据库/ 作者 Silva31 发布于 2024年4月7日 许可协议 模板 上一篇 离散化 下一篇 Please enable JavaScript to view the comments