By using AWS re:Post, you agree to the Terms of Use

docker container in EC2 cannot connect to elasticCache


EC2 can connect to elasticache,but docker container in EC2 cannot connect to elasticache unless i set the network_mode=host.But i want to use docker swarm to deploy the services,so i shouldn't set the network_mode=host,how can i do it

1 Answer

Hello hy_galen,

When you use network_mode=host, your containers will use the underlying host's network namespace. Therefore, it is equivalent to running your application on an EC2 instance wrt networking.

If you do not specify the above parameter, your containers running in the swarm cluster will be connected to the underlying host's docker_gwbridge network by default. I believe the issue could be related to the docker network setup in your swarm cluster.

Docker modifies the iptables on your nodes to provide network isolation. If you have configured docker daemon settings in /etc/docker/daemon.json, make sure you have not set iptables=false as this will break your container networking. For more info, refer this doc.

I found a stackoverflow issue that is similar to yours. Try to follow the steps provided and see if it helps in finding the root cause.

profile picture
answered 13 days ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions