Docker compose custom network to achieve fixed container IP address

Docker compose custom network to achieve fixed container IP address

Due to the default bridge network, the IP address will change after restarting the container. In some scenarios we want to fix the container IP address.
Docker-compose is an orchestration tool for Docker, which creates networks, containers, etc. relative to the command mode. Using configuration files is relatively more convenient and can trace problems.

Paste the docker-compose.yml file directly

version: '2'
services:
  nginx:
   image: nginx:1.13.12
   container_name: nginx
   restart: always
   tty: true
   networks:
     extnetwork:
      ipv4_address: 172.19.0.2
 
networks:
  extnetwork:
   ipam:
     config:
     - subnet: 172.19.0.0/16
      gateway: 172.19.0.1

illustrate:

  • gateway is the gateway address
  • subnet is the network segment
  • extnetwork is a custom network name

In the above configuration, our nginx container has a fixed IP of 172.19.0.2

Example, custom network mode:

version: '2'
services:
  nginx:
   image: nginx:1.13.12
   container_name: nginx
   restart: always
   networks:
     extnetwork:
   ports:
     - 80:80
   volumes:
     - '/nginx/conf.d:/etc/nginx/conf.d'
  nginx2:
   image: nginx:1.13.12
   container_name: nginx2
   restart: always
   networks:
     extnetwork:
      ipv4_address: 172.19.0.2
     
  db:
   image:mysql:5.7
   container_name: db
   volumes:
    - /var/lib/mysql:/var/lib/mysql
   restart: always
   networks:
     extnetwork:
   ports:
     -3306:3306
   environment:
    MYSQL_ROOT_PASSWORD: wordpress
    MYSQL_DATABASE: wordpress
    MYSQL_USER: wordpress
    MYSQL_PASSWORD: wordpress   
  
  wordpress:
   image: wordpress:latest
   container_name: wordpress
   depends_on:
     -db
   ports:
     - "8000:80"
   restart: always
   networks:
     extnetwork:
   environment:
     WORDPRESS_DB_HOST: db:3306
     WORDPRESS_DB_NAME: wordpress
     WORDPRESS_DB_USER: wordpress
     WORDPRESS_DB_PASSWORD: wordpress
networks:
  extnetwork:
   ipam:
     config:
     - subnet: 172.19.0.0/16
      gateway: 172.19.0.1

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • Docker network mode and configuration method
  • Docker Compose network settings explained
  • Docker custom network implementation

<<:  Avoiding Problems Caused by Closures in JavaScript

>>:  Database query which object contains which field method statement

Recommend

How to use vw+rem for mobile layout

Are you still using rem flexible layout? Does it ...

The pitfall record of case when judging NULL value in MySQL

Table of contents Preface Mysql case when syntax:...

Basic commands for MySQL database operations

1. Create a database: create data data _name; Two...

Detailed explanation of Linux CPU load and CPU utilization

CPU Load and CPU Utilization Both of these can re...

How to set the page you are viewing to not allow Baidu to save its snapshot

Today, when I searched for a page on Baidu, becaus...

HTML image img tag_Powernode Java Academy

summary Project description format <img src=&q...

Use h1, h2, and h3 tags appropriately

In the process of making web pages, it is inevita...

How to install jupyter in docker on centos and open ports

Table of contents Install jupyter Docker port map...

How to modify port 3389 of Windows server 2008 R2 remote desktop

The default port number of the Windows server rem...

How to implement draggable components in Vue

This article shares with you how to implement dra...

Drop-down menu implemented by HTML+CSS3+JS

Achieve results html <div class="containe...

Detailed tutorial for installing mysql5.7.21 under Windows

This article shares the installation tutorial of ...

MYSQL local installation and problem solving

Preface This article is quite detailed and even a...