Docker 数据管理

参考资料:

  1. Docker 从入门到实践
  2. Docker 教程 | 菜鸟教程

Docker 数据卷概念

Docker 数据卷(Volume)是一种持久化数据的机制,可以将容器内的数据存储到主机或其他容器之外的地方。数据卷让你在容器运行期间保持数据的一致性和存活性。数据卷有以下特点:

  1. 数据卷可以被多个容器共享,这样多个容器就可以访问同一个数据卷,实现数据的共享。

  2. 数据卷可以在容器之间传递数据,这样就可以很方便地实现容器之间的通信。

  3. 数据卷可以被挂载到主机的文件系统上,这样就可以在容器停止或删除之后仍然保留数据。

使用 Docker 数据卷可以有效地解决容器中数据管理的问题,提高容器的可靠性和可维护性。

Docker 数据卷使用

命令行

可以使用-v--volume参数在创建容器时为该容器创建一个数据卷,例如

docker run -d --name mycontainer -v /path/on/host:/path/in/container myimage
使用数据卷
  • 创建数据卷(create): docker volume create [OPTIONS] [VOLUME]
  • 查看数据卷(ls): docker volume ls
  • 查看数据卷信息(inspect): docker volume inspect [OPTIONS] VOLUME [VOLUME]
  • 移除无用数据卷(prune)(容器中无关联才算无用): docker volume prune [OPTIONS]
  • 移除数据卷(rm)(容器关联数据卷无法移除): docker volume rm [OPTIONS] VOLUME [VOLUME]

对容器的操作主要通过 docker volume 进行,可以通过 --help 参数进一步了解;

如果想要在删除容器的同时删除数据卷,可以使用以下命令:

docker rm -v IMAGE

补充:查看容器相关信息

docker inspect CONTAINER
-v 和 --mount的区别
docker run -d --name mycontainer -v /path/on/host:/path/in/container myimage
docker run -d --name mycontainer --mount source=/path/on/host,target=/path/in/container myimage

使用 -v 参数时如果本地目录不存在 Docker 会自动为你创建一个文件夹,使用 --mount 参数时如果本地目录不存在,Docker 会报错。

posted @ 2023-06-21 15:31  穆海如枫  阅读(20)  评论(0)    收藏  举报