web-dev-qa-db-fra.com

Liaison de conteneur dans AWS Fargate

J'essaie de configurer un petit exemple sur AWS Fargate et d'essayer d'avoir un conteneur d'application avec un conteneur de base de données là-bas.

La définition de tâche démarre les deux conteneurs, mais mon conteneur d'application échoue avec getaddrinfo ENOTFOUND db db:3306. Par conséquent, le conteneur de base de données est introuvable dans mon conteneur d'application.

Étant donné que Fargate n'autorise pas les "liens" des conteneurs Docker, je voudrais savoir comment ils peuvent communiquer entre eux. Le conteneur de base de données porte le nom db avec le port 3306 et mon conteneur d'applications est configuré pour l'utiliser.

Malheureusement, la définition des liens des conteneurs n'est pas disponible pour Fargate, mais uniquement pour ECS/EC2 "oldschool".

Dans une configuration de docker-compose locale, cela fonctionne de cette façon.

25
sebastian

Les conteneurs dans les tâches Fargate partagent un espace de noms réseau, vous n'avez donc pas besoin du tout d'utiliser des liens. Vous pouvez simplement communiquer via localhost.

Par exemple, si le conteneur A exécute un serveur Web sur le port 8000, le conteneur B peut l'atteindre avec curl http://localhost:8000/

36
Noah