我正在尝试将一个 Web 应用程序 docker 化。它需要 PHP,因此我使用richarvey/nginx-php-fpm
。
由于 Web 应用将配置数据存储到 Web 根目录中,因此 Web 根目录必须是持久的。因此,我选择为 Web 根目录创建一个卷:
./smartvisu/Dockerfile
FROM ubuntu:14.04
MAINTAINER abc
RUN apt-get -y install git
RUN commands to get data into /usr/share/nginx/html
VOLUME /usr/share/nginx/html
ENTRYPOINT /usr/bin/tail -f /dev/null
效果很好。数据是持久的。不幸的是,我需要让 docker-image 的用户将两个文件夹注入 webroot:
/usr/share/nginx/html/lib
,/usr/share/nginx/html/pages/mypages
。
因此,我尝试的是:
smartvisu_data:
build: ./smartvisu/.
smartvisu:
image: richarvey/nginx-php-fpm
volumes_from:
- smartvisu_data
volumes:
- /mnt2/RockOn_Configs/config/smartvisuconfig/lib:/usr/share/nginx/html/lib
- /mnt2/RockOn_Configs/config/smartvisuconfig/pages/henfri/:/usr/share/nginx/html/pages/henfri
ports:
- 8080:80
现在,不幸的是,该volumes_from
部分确实起作用了,但是将两个文件夹挂载到 / 文件夹中却不起作用。
文件夹/usr/share/nginx/html/lib
和
/usr/share/nginx/html/pages/henfri
是空的。
答案1
请确保您的文件权限。您的主机文件夹必须具有 docker 用户的 rw 权限。