上面我们讲到了使用 -v 选项来挂载存在容易混淆的问题,其主要原因是挂载的方式和配置随着 Docker 的不断发展日渐丰富,而 -v 选项的传参方式限制了它能使用的场景。
    其实在 Docker 里为我们提供了一个相对支持丰富的挂载方式,也就是通过 —mount 这个选项配置挂载。

    1. sudo docker run -d --name webapp webapp:latest --mount 'type=volume,src=appdata,dst=/webapp/storage,volume-driver=local,volume-opt=type=nfs,volume-opt=device=<nfs-server>:<nfs-path>' webapp:latest

    在 —mount 中,我们可以通过逗号分隔这种 CSV 格式来定义多个参数。其中,通过 type 我们可以定义挂载类型,其值可以是:bind,volume 或 tmpfs。另外,—mount 选项能够帮助我们实现集群挂载的定义,例如在这个例子中,我们挂载的来源是一个 NFS 目录。

    由于在实际开发中,-v 基本上足够满足我们的需求,所以我们不常使用相对复杂的 —mount 选项来定义挂载,这里我们只是将它简单介绍,供大家参考。