Docker 容器数据持久化

Posted onetoinf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 容器数据持久化相关的知识,希望对你有一定的参考价值。

Docker Volumn 卷

提供了一种容器数据持久化的技术,可以将容器中的目录挂载至本机上。同时也为容器之间的数据共享提供了方便。

不指定挂载到宿主机

比如运行docker run -d --name nginx -v /usr/share/nginx/html whoami/hello-nginx

  • -d

    在daemon中运行

    --name nginx

    将容器命名为nginx

  • -v /usr/share/nginx/html

    指定需要持久化的目录,即需要挂载的目录。

技术分享图片

使用sudo docker inspect nginx查看

inspect可以查看很多有关容器的信息,但是此刻我关注的是挂载的信息:

技术分享图片

在挂载目标目录的地方找到了index.html中并在其中追加了<b>hello the cruel world!!</b>

下面使用docker exec -it nginx /bin/bash进入容器之中

技术分享图片

可以看到在宿主机之中做的更改与容器中的同步了!

指定挂载到宿主机

使用命令sudo docker run -d -p 80:80 -v $PWD/html:/var/www/html nginx

  • 其中$PWD为shell的宏变量代表的是当前路径

  • -p 80:80 将宿主机的80端口映射为容器的80端口

技术分享图片

效果不多说了!

指定挂载到容器

  • 创建数据容器docker create -v $PWD/data:/var/mydata --name Data ubuntu

技术分享图片

  • 创建需要挂载的容器docker run -it --volumes-from Data ubuntu /bin/bash运行之后会直接进入容器之中,使用mount | grep mydata

技术分享图片

进行挂载的目录,然后创建文件`makeit`

技术分享图片

可以看到挂载到容器也是可以同步数据的。

以上是关于Docker 容器数据持久化的主要内容,如果未能解决你的问题,请参考以下文章

Docker实现数据持久化

Docker数据持久化与容器迁移

Docker 数据卷-Docker容器数据持久化方式

Docker 容器数据卷(挂载)

Docker深入浅出系列 | 容器数据持久化

docker 12 docker容器数据卷