2017-10-16 65 views
0

当使用谱写发展我有我的应用程序安装在内部的/ var/www/html等与此:Docker组成,可以在已经安装的卷内安装一个文件夹?

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

它应该工作,里面的容器是本目录?也在./app中你有一个名为images的目录吗? – Sergiu

回答

0

这应该正常工作,该解决方案的唯一的缺点是码头工人将在./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 persistence(如果容器以root身份运行)。

测试在​​3210和docker-compose version 1.8.0

相关问题