Docker – Not able to telnet Linked Container

I have a container A with Dockerfile as follows:

FROM ubuntu:latest
MAINTAINER arpitaggarwal ""

and another container B with Dockerfile as follows:

  • “The headers or library files could not be found for jpeg” installing Pillow on Alpine Linux
  • Service docker start not work(daemon), ubuntu-15.10, To run dockerfile with intelliJ
  • Dockerfile for flask application with matplotlib
  • How to re-mount a docker volume without overriding existing files?
  • Docker Service won't start Windows Server 2016
  • Can't send large (15Kb) UDP datagrams using docker
  • ...
    FROM ubuntu:latest
    MAINTAINER arpitaggarwal ""
    RUN apt-get install -q -y mysql-server
    EXPOSE 3306

    Then I started the container B using command:

    docker run -P -it --name db B /bin/bash

    And running the command: docker run --rm --name web --link db A env

    gives me below output:


    Then I logged into container A and run the command: ping db

    which gives me output:

    PING db ( 56(84) bytes of data.
    64 bytes from db ( icmp_seq=1 ttl=64 time=0.082 ms
    64 bytes from db ( icmp_seq=2 ttl=64 time=0.063 ms
    64 bytes from db ( icmp_seq=3 ttl=64 time=0.065 ms
    64 bytes from db ( icmp_seq=4 ttl=64 time=0.061 ms
    64 bytes from db ( icmp_seq=5 ttl=64 time=0.066 ms

    And when I tried telnet command with port 3306, as follows:

    telnet 3306

    gives me output:

    root@9b078c1fed82:/# telnet 3306
    telnet: Unable to connect to remote host: Connection refused

    Any idea, how can I telnet linked container?

    Any help will be appreciated!

  • Stage, release and production server docker containers in single VPS
  • MessageListenerContainer not listening after crashing master redis instance in redis sentinel in docker env
  • Environment variables in Docker
  • How to change nginx config in amazon elastic beanstalk running a docker instance
  • Restart one service in docker swarm stack
  • How can I upgrade Docker on a Mac?
  • 2 Solutions collect form web for “Docker – Not able to telnet Linked Container”

    MySQL usually only listens on by default. You need to modify the my.cnf during build and set bind-address to You could accomplish this with something like:

    RUN sed -i -e"s/^bind-address\s*=\s* =" /etc/mysql/my.cnf

    After receiving the answer by @Andy Shinn, I Updated the container B Dockerfile as below:

    FROM ubuntu:latest
    MAINTAINER arpitaggarwal ""
    RUN apt-get install -q -y mysql-server
    RUN apt-get install -q -y mysql-client
    RUN sed -i -e"s/^bind-address\s*=\s* =" /etc/mysql/my.cnf
    EXPOSE 3306

    And when I tried accessing mysql-server from container A as:

    mysql -u root -ppassword -h

    Gives me error:

    ERROR 1130 (HY000): Host '' is not allowed to connect to this MySQL server

    Which I figured it out is because container A was trying to connect to db container through root user. But In mysql do not allow you to connect though root user remotely. So I work around creating another user in mysql-server with root privileges.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.