Docker快速入门 - 教程四之目录挂载

Docker 快速入门-4

现存问题

  • 使用 Docker 运行后,我们改了项目代码不会立刻生效,需要重新buildrun,很是麻烦。
  • 容器里面产生的数据,例如 log 文件,数据库备份文件,容器删除后就丢失了。

目录挂载解决以上问题

几种挂载方式

  • bind mount 直接把宿主机目录映射到容器内,适合挂代码目录和配置文件。可挂到多个容器上
  • volume 由容器创建和管理,创建在宿主机,所以删除容器不会丢失,官方推荐,更高效,Linux 文件系统,适合存储数据库数据。可挂到多个容器上
  • tmpfs mount 适合存储临时文件,存宿主机内存中。不可多容器共享。

  文档参考:https://docs.docker.com/storage/

  

https://image.coderlab.cn/preview/1476791694673350657

挂载演示

  bind mount 方式用绝对路径 -v D:/code:/app

  volume 方式,只需要一个名字 -v db-data:/app

  示例:docker run -p 8080:8080 --name test-hello -v D:/code:/app -d test:v1