时间:2021-05-02
本文简述如何使用docker部署mysql,同时持久化数据.我们会用到tutum-docker-mysql这个项目来搭建一个mysql,省去重头写dockerfile的时间.
首先我们将tutum-docker-mysql跑起来.
? 1 docker run -d -p 3306:3306 --name mysql tutum/mysql如果你本地没有tutum/mysql的image,docker会先下载它的image,这一步可能会用些时间.待执行完毕我们检查一下应该会有如下样子
tutum-docker-mysql会自动帮我们建一个随机的密码供我们访问,通过日志可以查看到.
我们通过日志上的密码登陆mysql
? 1 mysql -uadmin -pi6k5usp9km9g -h127.0.0.1理论上我们这个时候就登陆mysql成功了,你可以创建一个库,一个张表,然后退出.但是当这个container停止再重启后,你的数据就丢了. 如何使你的数据真的被保存下来呢?
解决方案就是:挂载一个本地文件到container (mount a local folder from the host on the container to store the database files).
首先我们停掉之前的container
? 1 docker stop mysql我们指定一个本地可以挂载的路径,重新启动tutum-docker-mysql.我们指定/home/walter/softwares/tutum-docker-mysql/data 挂到container里的/var/lib/mysql目录(-v bind mount a volume). 这样子我们就可以将数据持久化在主机(host)的目录中了.
? 1 sudo docker run -d -p 3306:3306 -v /home/walter/softwares/tutum-docker-mysql/data:/var/lib/mysql -e mysql_pass="mypass" tutum/mysql我们在上面启动的时候顺便指定了创建密码为mypass,我们现在登陆一下mysql创建一些数据,看看会不会被保存下来
? 1 2 shell>mysql -uadmin -pmypass -h127.0.0.1 mysql>create database test;退出mysql,重启container,我们发下我们做的操作将会被保留下来.我们之后每一次启动这个mysql都可以使用下面的命令
? 1 docker run -d -p 127.0.0.1:3306:3306 -v /home/walter/softwares/tutum-docker-mysql/data:/var/lib/mysql tutum/mysql以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/u013096666/article/details/76522507
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本篇将介绍如何使用Docker部署MySQL数据库及远程访问配置安装MySQL拉取镜像使用下面的命令拉取MySQL数据库的镜像:?123$sudodockerp
在之前使用docker部署运行了SpringBoot的小例子,但是没有使用数据库。在这一篇中,介绍docker如何启动mysql容器,以及如何将SpringBo
阅读本文前,希望你已经对volumes和bindmounts有了初步的了解,具体可以参考以下文章:docker数据持久化之volumesdocker数据持久化之
1.前言Docker在开发中使用的越来越多了,最近搞了一个SpringBoot应用,为了方便部署将Mysql也放在Docker中运行。那么怎么初始化SQL脚本以
最近在部署django,不想在手动安装一遍mysql,便尝试使用docker,总结了安装的心得,这些前提都是在安装了docker后:1.查看mysql镜像;do