挂载主机文件系统

Docker 进阶

Mike Metzger

Data Engineer

容器文件系统

  • 每个容器实例都有自己的文件系统
    • 基于创建容器所用的镜像
  • 任何更改都绑定到该容器实例
  • 重启后仍会保留这些更改
    • 仅限该实例本身
  • 新容器只有镜像中的数据,不含实例的变更

容器文件系统

Docker 进阶

共享文件或目录

  • 可将特定文件或目录挂载到容器
  • 使数据可持久化,而无需保留特定容器
  • 可升级容器版本,同时安全保留数据/更改
  • 称为绑定挂载(bind-mount)
  • 可只读或读写
  • 注意:挂载到容器后的文件或目录,在容器关闭前主机不可访问
Docker 进阶

使用 -v 选项

  • 绑定挂载常用 -v 参数
  • -v <source>:<destination>
  • 允许多个 -v
  • 也可使用 --mount 选项
  • 注意:绑定挂载会隐藏目标目录中已有内容
docker run -v ~/html:/var/www/html \
       nginx
docker run 
       -v ~/pgdata:/opt/data \
       -v ~/pg.conf:/etc/pg.conf \
       postgresql
Docker 进阶

让我们练习!

Docker 进阶

Preparing Video For Download...