从容器访问本地文件夹
本演练向您展示如何从容器访问本地文件夹。为了更好地理解本演练中的一些概念,请首先完成 运行多容器应用程序演练。
Docker 将容器中的所有内容、代码和数据与本地文件系统隔离。默认情况下,容器无法访问本地文件系统中的目录。


有时,您可能想从本地文件系统访问目录。为此,您可以使用绑定安装。
在开始之前,请获取最新版本的 Docker Desktop。 Docker 定期添加新功能,本指南的某些部分可能仅适用于最新版本的 Docker Desktop。第 1 步:获取示例应用程序
如果您有 git,则可以克隆示例应用程序的存储库。否则,您可以下载示例应用程序。选择以下选项之一。
步骤 2:使用 Compose 添加绑定挂载
添加绑定挂载以从容器访问系统上的数据。绑定挂载允许您将主机文件系统中的目录共享到容器中。


要向此项目添加绑定安装,请compose.yaml
在代码或文本编辑器中打开该文件,然后取消注释以下行。
todo-app:
# ...
volumes:
- ./app:/usr/src/app
- /usr/src/app/node_modules
该volumes
元素告诉 Compose 将本地文件夹装载./app
到服务/usr/src/app
的容器中todo-app
。这种特定的绑定安装会覆盖容器中目录的静态内容/usr/src/app
并创建所谓的开发容器。第二条指令/usr/src/app/node_modules
防止绑定安装覆盖容器的node_modules
目录以保留容器中安装的包。
第 3 步:运行应用程序
在终端中,运行以下命令来启动您的应用程序。替换/path/to/bindmount-apps/
为应用程序目录的路径。
提示
要运行 Docker 命令,您必须使用终端。根据您的操作系统,您可以通过执行以下操作打开终端:
对于 Windows,选择“开始”菜单,指定
cmd
,然后选择 “命令提示符”。对于 Mac,请选择Dock 中的Launchpad
Terminal
图标,在搜索字段中进行指定,然后选择“终端”。
$ cd /path/to/bindmount-apps/
$ docker compose up -d
第 4 步:开发应用程序
现在,您可以在本地系统上开发应用程序时利用容器环境。您对本地系统上的应用程序所做的任何更改都会反映在容器中。在本地目录中,app/views/todos.ejs
在代码或文本编辑器中打开,更新Enter your task
字符串,然后保存文件。访问或刷新
localhost:3001 以查看更改。
概括
在本演练中,您添加了绑定装载以从容器访问本地文件夹。您可以使用它来更快地开发,而无需在更新代码时重建容器。
相关信息:
- 深入研究 绑定安装座
- 在Compose 文件参考中了解如何在 Compose 中使用绑定挂载
- 在Docker 运行参考中探索通过 CLI 使用绑定挂载
下一步
继续下一个演练,了解如何容器化您自己的应用程序。