获取示例程序
├── getting-started-app/
│ ├── package.json
│ ├── README.md
│ ├── spec/
│ ├── src/
│ └── yarn.lock
bind mounts
上一篇,我们使用volume的挂载持久化数据。当你需要在不指定位置存储应用程序数据,volume挂载是很好的选择。
bind挂载是另一种挂载,它可以使你共享宿主机中的目录给容器使用。当执行应用程序,你可以使用bind挂载挂载数据到容器内部。你一旦保存文件,内部的变化会被容器收到。意思是你可以在容器内部执行一个监视宿主机文件系统变化的进程。
这篇文章,我们学习如何使用bind挂载和nodemon工具监视文件变化,然后自动重启应用程序。
volume类型的比较
下面是两种--mount
的实例:
- Named volume:
type=volume,src=my-volume,target=/usr/local/data
- Bind mount:
type=bind,src=/path/to/data,target=/usr/local/data
下表展示了他们的区别:
Named volumes | Bind mounts | |
---|---|---|
宿主机目录路径 | Docker自行选择 | 自定义 |
容器中的数据填充volume | Yes | No |
支持Volume驱动 | Yes | No |
实践bind mounts
在学习如何利用bind mounts开发程序之前,我们先做个实验看看bind mounts是如何工作的。
- 打开终端,进入
getting-started
目录。 - 执行以下命令,使用bind mounts打开
ubuntu
容器里的bash
。
$ docker run -it --mount<