将Phundament web应用程序移至生产环境

我正在尝试使用全新安装的Phundament 4.3.0-beta6,Docker 1.11.0和Docker Compose 1.7.0来容纳Yii2 Web应用程序。 主机是基于Ubuntu的Linux Mint 17.3。

开发环境中一切都很好,但是我没有find正确构build生产映像的方法。

我已经使用过旧版本的Phundament和Docker,在相同的问题上运行,所以我很确定我没有遇到错误:我只是误解了一些东西。

问题是,本地开发的docker -compose文件( docker-compose.override.yml ,覆盖docker-compose.yml )正在将根项目文件夹挂载到phpnginx容器上:

volumes: - .:/app 

经过一些自定义我重buildPHP容器,应用程序代码已成功添加到容器(按照Dockerfile中的说明 ),所以我可以编辑docker-compose.override.yml文件从PHP容器中删除volume指令,一切都OK 。

但是当我对nginx容器做同样的操作时,运行docker-compose up -d nginx,给我一个404。这意味着它没有find进入php容器的login页面。 它只是当我挂载项目文件夹卷find它。

我猜这不是预期的行为…我做错了什么?

基本上, nginx只需要index.phpassets/的PHP图像的web文件夹。

所以你可以使用volumes_fromvolumes_from ,如下所示:

 php: volumes: - /app/web nginx: volumes_from: - php 

另一个select是以某种方式configurationnginx ,将所有请求转发给PHP容器,但这对于静态文件并不是真的需要。

注意! 重新部署应用程序时,可能需要killrm -v PHP和nginx容器以对卷进行更改。

随意创build一个问题,或者如果你有关于改进等的想法…

充分披露:我是Phundament的核心开发者。

Interesting Posts