我正在尝试像这样运行我的图像:
version: '3.8'
services:
gamit:
image: myimage
volumes:
- app:/app
volumes:
app:
driver: local
driver_opts:
type: none
device: ./app
o: bind
Run Code Online (Sandbox Code Playgroud)
起初,我的目标是app在我的文件附近有一个目录docker-compose.yml(应用程序目录)应该保留app容器内部的目录(它已经包含一些重要数据)。我的部署场景假设该目录最初在主机上为空,然后跟上容器内部的更改。当我运行它时,docker compose up我的app目录附近docker-compose.yml仍然是空的。我注意到它/var/lib/docker/volumes/myimage/_data是用容器中的数据创建和填充的(我从另一个 stackoverflow 问题中假设我的device: ./app选项设置了主机目录的位置)。然后我删除了/var/lib/docker/volumes/myimage/目录,现在它抛出一个错误docker failed to mount local volume mount no such file or directory。我的总体目标是最初使用docker compose up空app目录运行,从容器内部填充它,然后将容器内部的所有更改放入其中。