I’m running docker 18.09.1 on Ubuntu 16.04.
I have created a docker network
docker network create my_network of (default) type bridge. After restarting the docker service, the new network appears in the Ubuntu routing table (after typing
Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.10.10.1 0.0.0.0 UG 100 0 0 ens6 10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 ens6 10.10.10.1 0.0.0.0 255.255.255.255 UH 100 0 0 ens6 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 172.23.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-3a9a42c9e6de
In my docker compose file I add containers like so:
version: '3' services: rabbit: hostname: rabbit container_name: ae_rabbit image: rabbitmq:3-management ports: - "15672:15672" - "5672:5672" networks: - my_network redis: container_name: ae_redis image: 'redis:3.2.7' ports: - "6379:6379" networks: - my_network receiver: image: puckel/docker-airflow:latest restart: always container_name: ae_receiver depends_on: - rabbit - redis networks: - my_network ... networks: my_network: external: true
When developing new features I might start container
docker-compose -f docker-compose.yml up redis, stop container
docker stop redis or Ctrl + C in terminal, sometimes I use the
--force-recreate option with docker-compose… .
At some point I notice that I can’t reach my container from the host anymore (e.g. rabbit through port 15672). I check the routing table again and the entry for
my_network has disappeared. Only a
service docker restart will bring the routing table entry back.
I have no idea what is going on. Why does the routing table entry disappear? What can I do to prevent that? Any help is highly appreciated. Thanks!