在Docker中使用持久卷

时间:2017-11-07 09:12:49

标签: docker persistent-volumes

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

/home/my_user/my_project/

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

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

我理解我需要Docker持久卷,但是如何在Mac上安装本地文件夹以便写入和保存数据?这个容器可以在Windows机器上运行,那么如何在不同的OS上创建持久卷?

1 个答案:

答案 0 :(得分:0)

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

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

卷和绑定装载之间也存在差异,我解释了here