打开Oracle VM VirtualBox,选中“正在运行”状态的 default 虚拟机,进入 设置-> 共享文件夹,添加共享文件夹,选中docker_study文件夹,勾选“自动挂载”、“固定分配”,确定。



default上右键,重启该虚拟机。

下边是官方对 -v 这个命令的使用文档:

储存数据的位置

摘要:下面介绍了多种储存 Docker 容器中数据的方式,我们鼓励 mysql 镜像用户熟悉下面各项技术:

  • 使用 Docker 自带的 Volume 机制将数据库文件写入宿主机的磁盘。这是默认的方式,对用户来讲简单且透明。缺点是宿主机上的工具或应用可能难以定位这些文件。
  • 在宿主机上创建一个数据目录(在容器外部)并把他挂载至容器内部。此时数据库文件被放置在宿主机上一个已知的目录里,那样容器外部的应用和工具就可以方便地访问这些文件。缺点是用户需要确保这些目录存在,且宿主机上正确配置了权限设置。

阅读 Docker 文档能快速了解不同的储存选项,并且有很多博客或论坛讨论并给出了这方面的建议。我们会在下面简单地演示一下:

  1. 在宿主机上创建一个数据目录,例:/my/own/datadir
  2. 使用下面的命令启动 mysql 容器:
$ docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d daocloud.io/mysql:tag

我们通过 -v /my/own/datadir:/var/lib/mysql 参数从宿主机挂载 /my/own/datadir 目录至容器内作为 /var/lib/mysql 目录,那样 MySQL 就会默认将数据文件写入这个目录中。



-v 后边的数据,冒号前是宿主机的文件夹,冒号后是本机的mysql那个位置(一般情况下这个位置会在你pull镜像的那个地方由官方文档告诉你)

但是我发现关机了我之前挂载在宿主机的数据库就没了。

为啥呢,琢磨了一下,又看了官方文档,觉得可能是关机了就没有服务再使用这个数据卷了,所以就释放掉了。

别的好像没啥要说的了,今天先就酱,等再想起来再补充吧。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐