在docker容器中的phpfpm和nginx之间共享app文件

时间:2017-11-09 13:09:01

标签: php amazon-web-services docker amazon-ec2

我正在尝试将简单的phpinfo.php部署到ECS(Amazon EC2容器服务)。

有人告诉我,如果我 Dockerize 我的应用并将结果图像推送到Amazon ECR(Elastic Container Registry),EC2可以轻松地从那里获取应用。

我做到了,现在我又遇到了另一个路障。

在EC2容器中部署后,问题是我的应用程序位于文件夹/ var / www / html /中的仅phpfpm容器中,但在我的 nginx 容器。

由于此问题,nginx无法发送我的应用。

请注意,应用程序不在主机设备EC2中,也不在nginx中,它只在php-fpm中。如何解决这个问题呢?请指教。感谢

搬运工-compose.yml

version: '2'

services:
  nginx:
      image: 607167.dkr.ecr.ap-southeast-1.amazonaws.com/nginx:1
      cpu_shares: 50
      mem_limit: 134217728
      ports:
          - "80:80"
      links:
          - phpfpm
  phpfpm:
      image: 60547.dkr.ecr.ap-southeast-1.amazonaws.com/phpinfo:latest
      cpu_shares: 50
      mem_limit: 134217728
      ports:
          - "9000:9000"
          - "3306:3306"

我尝试将此行添加到yml文件中的两个容器中,但随后我的容器无法加载。

  volumes:
      - .:/var/www/html

请帮忙。感谢

1 个答案:

答案 0 :(得分:0)

我想发布这个答案,希望它会帮助别人。 我花了一天时间试图弄清楚如何解决这种情况但解决方案非常简单。

不是为 php 和ONE FOR nginx 设置两个单独的容器,而是使用 PHP NGINX <构建一个容器/ strong>和您的应用

将docker容器视为单个linux vm实例。单个vm可以运行多个服务,因此单个docker容器也可以运行。每项服务不必在不同的容器中。

如果概念清楚,答案很容易。我的遗憾不是。

希望它有所帮助。