使用compose进行开发时,我将我的应用程序安装在/ var / www / html中:
volumes:
- ./app:/var/www/html
我的本地副本需要生产网站上的所有图片,这些图片非常多,所以我不想将它们存储在我的小ssd中,而是存放在一个大的外部磁盘中。
所以我的图片位于我的/ media / storage / bigdisk / images。
可以在已安装的/ var / www / html中安装此位置吗?
这种方式似乎不起作用:
volumes:
- ./app:/var/www/html
- /media/storage/bigdisk/images:/var/www/html/images
答案 0 :(得分:0)
这应该正常工作,这个解决方案唯一的缺点是docker会在./app/images
中创建额外的目录 - 所以它可以挂载图像卷。
对于这个目录树:
- app
--- index.php
- docker-compose.yml
- media
--- picture.png
docker-compose.yml
:
version: '2'
services:
app:
image: ubuntu
volumes:
- ./app:/var/www/html
- ./media:/var/www/html/images
你得到:
$ docker-compose run --rm app find /var/www/html
/var/www/html
/var/www/html/index.php
/var/www/html/images
/var/www/html/images/picture.png
即使./app/images
目录在本地存在某些内容,这也有效。如果它不存在,则docker在那里创建空目录root:root
persmission(如果容器以root身份运行)。
在Docker version 1.12.6
和docker-compose version 1.8.0