В настоящее время у меня есть проект Redis, Postgres и несколько контейнеров Golang в моем проекте. У меня все это работает локально на моей машине с использованием docker -compose.
redis:
container_name: redis
build:
context: .
dockerfile: redis/Dockerfile
ports:
- 6379:6379
networks:
- my-network
Это позволяет мне в моем микросервисе Golang использовать имя контейнера для подключения к контейнеру Redis:
&redis.Pool{
Dial: func() (redis.Conn, error) {
return redis.Dial("tcp", "redis:6379")
},
Все это прекрасно работает, однако я хочу поместить эти контейнеры в ECR и использовать ECS. Я немного сбит с толку относительно того, как идентифицировать мои сервисы и общаться с ними в AWS. Если я задаю для пространства имен значение example
, а затем в качестве имени службы поиска redis_service
в службе ECS это так же просто, как использовать:
&redis.Pool{
Dial: func() (redis.Conn, error) {
return redis.Dial("tcp", "example.redis_service:6379")
},
Любая помощь будет принята!