1、mysql的数据持久话问题
安装启动mysql ,需要配置密码
官网:docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag -----这里的-e MYSQL_ROOT_PASSWORD就是在启动的时候配置密码
docker search mysql 查找镜像
docker pull mysql:5.7 下载镜像
docker images 查看是否下载成功
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
这句命令解释:
-d 是后台运行
-p 3310:3306 将容器内的3306端口和服务的3310端口进行映射
两个-v是数据卷挂载了两个文件目录,将容器内的/etc/mysql/conf.d挂载到/home/mysql/conf ,将/var/lib/mysql 挂载到/home/mysql/data
-e MYSQL_ROOT_PASSWORD=123456 是将mysql的密码设置为123456。-e是环境配置
--name mysql01 起名为mysql01
运行之后,需要在阿里云服务器的安全组规则中将3310端口打开,然后就可以在navicat中输入主机名,端口号3310,root和密码就可以访问了
另外还可以cd到宿主机的/home/mysql/conf或者/home/mysql/data可以看到挂载上去的数据
另外也可以在navicat里面创建一个数据库,比如test111,然后在服务器的/home/mysql/data中查看是否同步了
如果删掉了容器 : docker rm -f mysql01
docker ps -a查看是不是删除成功了
如果删除成功了,cd /home/mysql/data里,会发现数据还是存在,删除容器不会造成挂载在本地的数据卷丢失,实现了容器数据持久化功能~