具有仅数据容器的AWS ECS上的Symfony应用程序 - 这是正确的方向吗?

时间:2017-03-31 12:51:29

标签: amazon-web-services docker docker-compose aws-cli amazon-ecs

我有一个由四个容器组成的dockerized Symfony2应用程序:

  • PHP-FPM
  • nginx的
  • MySQL的
  • 代码(带卷的数据容器)

在我的本地计算机上,这个设置运行时没有使用docker-compose:

    code:
      image: ebc9f7b635b3

    nginx:
      build: docker/nginx  
      ports:
        - "80:80"
      links:
        - php
      volumes_from:
        - code

    php:
      build: docker/php
      volumes_from:
        - code
      links:
        - mysql

    mysql:
      image: mysql
      ports:
        - "5000:3306"
      command: mysqld --sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
      environment:
        - MYSQL_ROOT_PASSWORD=xyz
        - MYSQL_DATABASE=xyz
        - MYSQL_USER=xyz
        - MYSQL_PASSWORD=xyz

我想在AWS ECS上部署我的应用程序,因此我预先构建了所有图像并将它们推送到AWS容器注册表,创建了一个带有新服务的新集群,并将我的本地docker-compose.yml转换为TaskDefinition。 从昨天开始,我试图让它运行,但是在遵循官方Dokumentation之后 http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html 并且搜索了几个小时我找不到让它运转的方法。

服务在没有启动容器的情况下陷入PENDING状态(mysql容器除外),或者如果我将卷附加到任务定义,容器即将启动,但数据未映射。

我是否必须在任务定义的volumesFrom部分中以特殊语法引用仅数据容器?

除了使用EFS之外,现在还有解决方案吗?

谢谢!

0 个答案:

没有答案