【问题标题】:Using Persistent Volumes in Docker在 Docker 中使用持久卷
【发布时间】:2018-04-19 14:52:48
【问题描述】:

我有一个 Docker 容器在我的 Mac 上运行。这个 Docker 容器有一个主文件夹,如:

/home/my_user/my_project/

它基于 Ubuntu 操作系统映像并在我的 Mac 上运行。当我运行这个容器时,容器会不断更新 my_project 文件夹下的一个文件夹。现在,当我停止并删除此容器时,它只会被删除,当我启动容器的新实例时,该过程必须重新开始,即容器开始写入 my_project 文件夹,但它的旧文件已经写的完全丢失了。

即使在容器删除/重启后,如何使容器写入的数据保持不变?

Docker 持久卷是我所需要的,但是如何在我的 Mac 上挂载本地文件夹以便写入和持久化数据?这个容器可以在 Windows 机器上运行,那么我怎样才能在不同的操作系统上创建一个持久卷呢?

【问题讨论】:

    标签: docker persistent-storage


    【解决方案1】:

    您需要使用-v 标志启动您的容器。因此,如果您要将容器中的/home/my_user/my_project 目录挂载到主机上到/srv/my_app/data,例如,您需要按如下方式使用它:

    docker run -v /srv/my_app/data:/home/my_user/my_project IMAGE_NAME
    

    volumes和bind mounts之间也有区别,我解释了here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多