MacOS通过Docker部署MySQL数据库,以及Docker Desktop进行管理
目录
一.不需要持久化存储
1.启动容器
2.查看容器和镜像
3.容器管理
二.持久化存储启动mysql容器
1.创建docker卷
2.运行容器,指定卷
3.在mysql里面随便建个库,建张表,弄点数据
4.停止并删除MySQL容器
5.重新运行容器,并且挂载相同的卷,也就是上面第二步的命令
6.连接到MySQL容器并验证数据是否存在
这里需要注意的就是,看你自己的情况,是否需要数据的持久化存储,也就是数据在容器删除后是否仍然保留.
一.不需要持久化存储
1.启动容器
直接运行容器就行,当然也可以先下载镜像,再启动容器,没啥区别,一般为了方便都是直接启动容易。Docker会自动检查本地是否存在指定的镜像,如果不存在,则会从Docker Hub或其他配置的镜像仓库中下载。
docker run --name mysql-docker -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 mysql:latest
2.查看容器和镜像
3.容器管理
在docker desktop里面就可以直接对容器进行操作,比如停止,删除,开始,还可以直接查看日志,
但是这里需要注意的就是,你删除容器之后,mysql里面的数据也会没有,如果想删除容器数据还存在,以便下次运行mysql容器后,继续使用数据,那么就要用另一个功能volumes.
二.持久化存储启动mysql容器
1.创建docker卷
docker volume create mysql_data
2.运行容器,指定卷
docker run -d --name mysql-docker -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 mysql:latest
3.在mysql里面随便建个库,建张表,弄点数据
4.停止并删除MySQL容器
docker stop mysql-docker
docker rm mysql-docker
当然也可以直接在docker desktop里面操作
5.重新运行容器,并且挂载相同的卷,也就是上面第二步的命令
docker run -d --name mysql-docker -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 mysql:latest
6.连接到MySQL容器并验证数据是否存在
如果之前数据还在,说明持久化存储正常的,建议还是用这个,不然哪天一不小心把容器删了,里面的数据可就都没了