📜  docker 容器中的本地文件夹 (1)

📅  最后修改于: 2023-12-03 15:14:46.405000             🧑  作者: Mango

Docker 容器中的本地文件夹

在 Docker 中,可以使用容器绑定本地文件夹以实现容器和宿主机之间的文件共享和持久化存储。这种方式能够方便开发人员在容器中访问宿主机的文件,并且可以在容器停止后数据仍然保留。

绑定本地文件夹到容器

通过 -v--volume 参数,可以将宿主机的文件夹与容器关联起来。基本语法如下:

-v <宿主机路径>:<容器路径>

宿主机路径是在宿主机上的绝对路径,而容器路径是在容器内部的路径。例如,我们要将宿主机上的 /path/to/local/folder 绑定到容器内部的 /app/data,则命令可以这样写:

docker run -v /path/to/local/folder:/app/data ...

这样,在容器中访问 /app/data 实际上就是在访问宿主机上的 /path/to/local/folder,并且对它的任何更改都会反映在宿主机和容器中。

持久化存储

通过绑定本地文件夹到容器,我们可以实现数据的持久化存储。当容器停止后,数据仍然存在于宿主机上的绑定文件夹中。

这种持久化存储对于数据库容器非常有用,因为数据可以在容器重启之后依然存在。同样地,在开发过程中,我们可以将代码文件夹绑定到容器,使容器中的代码随时与宿主机同步。

使用 Docker-compose

在 Docker-compose 中,我们可以使用 volumes 关键字来绑定本地文件夹到容器。示例如下:

services: 
  myapp:
    volumes:
      - /path/to/local/folder:/app/data

这样配置后,myapp 服务中的容器就能够访问宿主机上的 /path/to/local/folder

总结

通过绑定本地文件夹到 Docker 容器,开发人员可以实现容器和宿主机之间的文件共享和持久化存储。这为容器中的应用程序提供了更方便的开发环境,并保证了数据的持久性。使用 Docker-compose 可以更轻松地配置容器的文件绑定。

请注意,文件夹权限和访问控制将会影响容器中对文件夹的操作,所以务必设置正确的权限以及遵循安全最佳实践。