我在Mac上运行了一个Docker容器。这个Docker容器有一个主文件夹,如:
/home/my_user/my_project/
它基于Ubuntu操作系统映像并在我的Mac上运行。当我运行此容器时,容器会不断更新my_project文件夹下的文件夹。现在,当我停止并移除此容器时,它只是被擦除,当我启动容器的新实例时,该过程必须重新开始,即容器开始写入my_project文件夹,但是旧的文件是它已经写完了。
即使在容器删除/重启后,如何使容器写入的数据持久化?
我理解我需要Docker持久卷,但是如何在Mac上安装本地文件夹以便写入和保存数据?这个容器可以在Windows机器上运行,那么如何在不同的OS上创建持久卷?
答案 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