2017-04-09 14 views
0

AWS ECSのMySQLコンテナに接続できないようです。ここで私はecs-cli compose upで使用しているドッキングウィンドウ-compose.ymlだ:AWS ECSのMySQLコンテナに接続できません

version: '2' 

services: 
    db: 
    image: mysql:5.7 
    restart: always 
    environment: 
     MYSQL_ROOT_PASSWORD: wordpress 
     MYSQL_DATABASE: wordpress 
     MYSQL_USER: wordpress 
     MYSQL_PASSWORD: wordpress 
    logging: 
     driver: awslogs 
     options: 
     awslogs-group: "mylogs" 
     awslogs-region: "us-east-2" 
     awslogs-stream-prefix: "db" 
    mem_limit: 300000000 

    wordpress: 
    depends_on: 
     - db 
    image: wordpress:latest 
    ports: 
     - "8000:80" 
    restart: always 
    environment: 
     WORDPRESS_DB_HOST: db:3306 
     WORDPRESS_DB_PASSWORD: wordpress 
    logging: 
     driver: awslogs 
     options: 
     awslogs-group: "mylogs" 
     awslogs-region: "us-east-2" 
     awslogs-stream-prefix: "web" 
    mem_limit: 300000000 

私はそれを得るエラーは次のとおりです。

MySQL Connection Error: (2002) php_network_getaddresses: getaddrinfo failed: Name or service not known 
Warning: mysqli::mysqli(): php_network_getaddresses: getaddrinfo failed: Name or service not known in - on line 22 
Warning: mysqli::mysqli(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known in - on line 22 

これはAWS ECSでローカルにではなく、正常に動作するようです。 AWSのために何か他のことをする必要がありますか?

+0

awsで関連するセキュリティグループのポートを開く必要があるかもしれませんか? – opHASnoNAME

+0

WordPressコンテナはMySQLコンテナと同じマシンにあるので、ポートを開く必要はありません。 AWSのドキュメントhttp://docs.aws.amazon.com/AmazonECS/latest/developerguide/example_task_definitions.html#example_task_definition-wordpressの例です – Omar

答えて

0

depends_onフィールドは、not supported in ECSです。 dbコンテナがそのポートを開く前に、あなたのwordpressコンテナが開始されています。したがって、エラーです。

ポートが使用可能になるのを待つためにラッパースクリプトを導入する必要があります。

関連する問題