Docker is not able to resolve container name in bridge network

Hey guys,

I currently facing a problem with the dns lookup. Here is my setup:

Host machine is running CentOS and Docker version 18.06.1-ce build e68fc7a

I use docker-compose with default network settings:

version: '3'

services:
  docker-registry:
    image: registry:latest
    container_name: DockerRegistry
    volumes:
      - ~/docker-registry:/var/lib/registry
    ports:
      - 60000:5000
    restart: unless-stopped

  jenkins:
    image: codeneko/jenkins-with-docker:lts
    container_name: Jenkins
    volumes:
      - ~/jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 50001:8080
    restart: unless-stopped

I use Jenkins to build a docker image which works just fine. The problem comes, when I’m trying to push to the local docker registry. For development I don’t have any security considered, so it’s http without authentication. Therefor I added the following to the /etc/docker/deamon.json file on my host, to allow the use of an insecure registry:

{
 "insecure-registries" : ["docker-registry:5000"]
}

And then I’m creating the docker file (in the jenkins container) with the name docker-registry:5000/some/name:1.0.0. When I try to push it to the local docker registry (container docker-registry) by calling docker push docker-registry:5000/some/name:1.0.0. It fails with the following error:

docker push docker-registry:5000/some/name:1.0.0
The push refers to repository [docker-registry:5000/some/name]
Get http://docker-registry:5000/v2/: dial tcp: lookup docker-registry on 192.168.201.21:53: server misbehaving

But if I try to reach the same url with curl curl http://docker-registry:5000/v2/ it works just fine and it can resolve the container name.

In my opinion it’s exactly the same http request, but one time docker can resolve the container name and the other time it can’t.

Any suggestions?