【发布时间】:2017-04-10 01:39:47
【问题描述】:
我似乎无法连接到 AWS ECS 中的 MySQL 容器。这是我与 ecs-cli compose up 一起使用的 docker-compose.yml:
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 做其他事情吗?
【问题讨论】:
-
您是否必须在 aws 上打开关联安全组中的端口?
-
不需要打开端口,因为 WordPress 容器与 MySQL 容器在同一台机器上。这是来自 AWS 文档 docs.aws.amazon.com/AmazonECS/latest/developerguide/… 的示例
标签: mysql docker amazon-ecs