1、docker pull mysql:latest
2、docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
注意:本地如果有mysql占用了3306端口,不会报错,如果远程容器mysql的时候会提示错误,因此建议修改端口,命令改成如下:
docker run -itd --name mysql-test -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
重启容器的时候数据并不会丢失,但是Docker 的使用原则是所有容器化的应用程序都应该是无状态的,即容器内部只跑业务逻辑,容器应用的所有配置文件、日志文件和持久化数据都应该挂载到宿主机文件系统,不应该存储在容器内部,以免容器被误删或自身出现问题导致数据丢失。
因此,我们要用以下命令运行mysql容器
docker run -itd --name mysql-test -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -v D:\docker\mysql\mysql-latest\config\conf.d\:/etc/mysql/conf.d/ -v D:\docker\mysql\mysql-latest\data\:/var/lib/mysql/ mysql:latest
以下命令报错(暂时未找到问题)
docker run -itd --name mysql-test -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -v D:\docker\mysql\mysql-latest\config\my.cnf:/etc/mysql/my.cnf -v D:\docker\mysql\mysql-latest\config\conf.d\:/etc/mysql/conf.d/ -v D:\docker\mysql\mysql-latest\data\:/var/lib/mysql/ mysql:latest
本文介绍了如何使用Docker运行MySQL容器,强调了避免端口冲突和保持数据持久性的方法。通过修改默认端口、设置环境变量以及挂载宿主机目录来确保配置文件和数据的持久存储,遵循容器无状态原则。同时提到了一个命令执行时遇到的问题,并提醒读者注意容器内的数据安全。
2190

被折叠的 条评论
为什么被折叠?



