You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Overview

Docker supports the ability to link containers. This is similar to having the two containers on the same network. One container can access the other by using the container name or alias.

This is helpful when connecting a database container with an app container.

Linking Containers

The --link flag takes the form:

--link <name or id>:alias

Where name is the name of the container we’re linking to and alias is an alias for the link name. That alias is used shortly. The --link flag also takes the form:

--link <name or id>

In this case the alias matches the name. 

How it works?


If we look into the container that is linked to another we will see that the /etc/hosts file has been updated with a hostname pointing to the other container.


For example:

> docker run --link mysql --name="confluence" -d -p 8090:8090 -p 8091:8091 

In this example we linked a previous container called mysql with our confluence container. If we connect to the confluence container, we will see that the hosts file has been updated.

> docker exec -it confluence bash
bash-4.4# cat /etc/hosts

127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
10.0.3.4	mysql 4157a451ee8c
10.0.3.2	bac14530534d

 

  • No labels