


What are the communication methods between containers in Docker?
Communication methods between containers in Docker: 1. Use the container ip to access; 2. Use the host’s “ip:port” to access; 3. Use link to establish a connection for communication; 4. Use “User-defined networks" to communicate.
The operating environment of this tutorial: linux7.3 system, docker-1.13.1 version, Dell G3 computer.
What are the communication methods between containers in Docker
1. Access through the container ip
After the container is restarted, the ip will change. Accessing via container IP is not a good solution.
2. Access through the host's ip:port
Access through the host's ip:port can only rely on the process listening on the exposed port for limited communication.
3. Establish a connection through link (officially not recommended)
When running a container, specify the parameter link so that the source container and the linked container can communicate with each other, and the accepted container can Obtain some data from the source container, such as environment variables.
# 源容器:mysql docker run -itd --name test-mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7 #被链接容器 centos docker run -itd --name test-centos --link test-mysql:mysql centos /bin/bash #进入test-centos docker exec -it test-centos /bin/bash
You can enter directly through the link name or the alias you took when linking:
Establish a connection through link The linked container can ping the source container, but not the other way around.
View environment variables on the linked container
#The linked container will inherit the environment variable information of the source container.
Unlike host entries in /etc/hosts, the IP address stored in the environment variable is not automatically updated if the source container is restarted. We recommend using the host entry in /etc/hosts to resolve the IP address of the linked container.
In addition to environment variables, Docker also adds the source container’s host entry to the /etc/hosts file.
If the source container is restarted, the /etc/hosts file on the link container will be automatically updated with the source container's new IP address, allowing link communication to continue.
4. Create a bridge network through User-defined networks (recommended)
docker network, and assign the container to the newly created bridge network when docker run, so that the same bridge network Containers in can access each other.
Create network
docker network create test-network
When starting the container, join the created network
docker run -it --network test-network --network-alias mysql -e MYSQL_ROOT_PASSWORD=123 mysql:5.7
Start the linked container
docker run -it --network test-network --network-alias centos centos /bin/bash
Recommended learning: "docker video tutorial"
The above is the detailed content of What are the communication methods between containers in Docker?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The steps to update a Docker image are as follows: Pull the latest image tag New image Delete the old image for a specific tag (optional) Restart the container (if needed)

Steps to create a Docker image: Write a Dockerfile that contains the build instructions. Build the image in the terminal, using the docker build command. Tag the image and assign names and tags using the docker tag command.

How to use Docker Desktop? Docker Desktop is a tool for running Docker containers on local machines. The steps to use include: 1. Install Docker Desktop; 2. Start Docker Desktop; 3. Create Docker image (using Dockerfile); 4. Build Docker image (using docker build); 5. Run Docker container (using docker run).

To get the Docker version, you can perform the following steps: Run the Docker command "docker --version" to view the client and server versions. For Mac or Windows, you can also view version information through the Version tab of the Docker Desktop GUI or the About Docker Desktop menu.

You can query the Docker container name by following the steps: List all containers (docker ps). Filter the container list (using the grep command). Gets the container name (located in the "NAMES" column).

Methods for copying files to external hosts in Docker: Use the docker cp command: Execute docker cp [Options] <Container Path> <Host Path>. Using data volumes: Create a directory on the host, and use the -v parameter to mount the directory into the container when creating the container to achieve bidirectional file synchronization.

To save the image in Docker, you can use the docker commit command to create a new image, containing the current state of the specified container, syntax: docker commit [Options] Container ID Image name. To save the image to the repository, you can use the docker push command, syntax: docker push image name [: tag]. To import saved images, you can use the docker pull command, syntax: docker pull image name [: tag].

You can switch to the domestic mirror source. The steps are as follows: 1. Edit the configuration file /etc/docker/daemon.json and add the mirror source address; 2. After saving and exiting, restart the Docker service sudo systemctl restart docker to improve the image download speed and stability.
