With the popularity and use of Docker, more and more developers and enterprises are beginning to use Docker to build and manage their applications. When using Docker, a key concept is the IP address of the Docker container. By default, Docker containers use randomly assigned IP addresses, but sometimes we need to specify a specific IP address for the Docker container. In this article, we will explain how to bind a static IP address to a Docker container.
First, we need to create a new network so that we can assign a static IP address to the Docker container. We can create a new network using the following command:
docker network create --driver bridge --subnet=172.18.0.0/16 my_network
Here, the --driver bridge
option indicates using Docker’s default network driver, and the --subnet
option Used to specify the IP address range of the network, my_network
is the name of the new network. In this case, we will use CIDR notation to specify the IP address range.
Next, we can run the Docker container and connect it to the newly created network. We can run an Nginx container and connect it to the my_network
network using the following command:
docker run --name my_nginx --network my_network --ip 172.18.0.2 -d nginx
Here, the --name
option is used to specify the name of the container , --network
option is used to specify the name of the network, --ip
option is used to specify the static IP address of the container, nginx
is the name of the image to be run . In this case, we specified the container’s IP address as 172.18.0.2
, which is an available IP address within the new network range. We also run the Nginx container as a background process using the -d
option.
Now, we can access the Nginx container through the container’s static IP address. We can access the default page of Nginx using the following command:
curl http://172.18.0.2
Here, we use the static IP address of the container to access the default page of the Nginx container. If everything is fine, you should be able to see Nginx's welcome page.
If you use Docker Compose to manage multiple containers, you can also specify a static IP address for each container. In the Docker Compose file, you can specify the static IP address of the container using the following code:
version: '3' services: nginx: image: nginx networks: my_network: ipv4_address: 172.18.0.2 networks: my_network: driver: bridge ipam: config: - subnet: 172.18.0.0/16
Here, we specify a static IP address for the Nginx container using the ipv4_address
option. We also defined a network called my_network
that uses the default Docker network driver and specified the network segment and IP address using the ipam
option. Managing multiple containers and multiple networks is easier with Docker Compose.
Summary
In this article, we introduced how to assign a static IP address to a Docker container. By assigning a static IP address to a container, we can more precisely control the container's network connectivity and access. Whether using basic Docker commands or using Docker Compose, you can specify a static IP address for your container.
The above is the detailed content of How to bind docker ip. For more information, please follow other related articles on the PHP Chinese website!