我启动了多个链接容器。所有容器将主目录/ var / log / tipsi /挂载到同一个被调用的内部目录。问题我只在最后一个容器中看到/ var / log / tipsi中的文件:
我使用无花果启动容器。这是使用的配置:
solr:
build: ../tipsi_solr/
volumes:
- /var/log/tipsi:/var/log/tipsi
- /home/docker/code/tipsi/solr/collection1/data
erl:
build: ../tipsi_erl/
volumes:
- /var/log/tipsi:/var/log/tipsi
web:
build: .
volumes:
- /var/log/tipsi:/var/log/tipsi
- /etc/cert:/etc/cert
ports:
- "443:443"
- "80:80"
links:
- solr:tipsi-solr.local
- erl:tipsi-erl.local
有趣的是 - lsof显示了关于tipsi_erl pid的缺席文件(在主机上启动):
prompt:~$ sudo lsof -p 12717
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
beam.smp 12717 root 12w REG 252,0 0 9323763 /var/log/tipsi/stacked_cache_error.log
beam.smp 12717 root 13w REG 252,0 739192 9323765 /var/log/tipsi/stacked_cache_debug.log
但是其他应用无法访问它们:
ls /var/log/tipsi/stacked_cache_debug.log 22:35:29
ls: cannot access /var/log/tipsi/stacked_cache_debug.log: No such file or directory
另外,我尝试在Dockerfile中为所有容器指定和删除VOLUME参数,没有任何运气。有没有想过这些文件的原因?
答案 0 :(得分:3)
我相信你正在点击https://github.com/docker/fig/issues/447
如果您在某个时刻将VOLUME
添加到Dockerfile,则在重新创建时会继续获取该卷的内容。
您应该fig rm --force
清除旧容器,然后它应该开始工作并使用主机卷。