Marinus Klasen

Marinus Klasen

  • Development
  • Consultancy
  • Developer Resources
  • Blog
  • Contact

May 25, 2022

Set a static IP for docker-compose containers

Marinus Klasen

I have an amazing setup on my office. It’s an extended version of Halcyon, with a VPN and DNS container. But there is was one thing that was going wrong..

Each time I restarted the server (or that time when a power outage occurred), the container’s internal IP addresses would change. The VPN container, and the configuration files generated by the container are set to use the DNS container with it’s internal IP address.

That meant that I had to setup VPN access whenever the server restarted. This is a huge problem, especially when you’re far away from home.

The solution

The solution is actually much easier than I expected, the only thing I had to do was setting the ipv4 address in my docker-compose.yml file, as below:

    networks:
      default:
        ipv4_address: 172.24.0.79

All my containers were already connected to shared network, this is accomplished by adding these lines of code your docker-compose.yml file:

networks:
  default:
    external:
      name: your-network-name

The network is created by:

docker network create your-network-name

Happy developing!

About Marinus Klasen

Marinus has been working in software/web development for more than a decade. Since 2020 his attention shifted on sharing knowledge and developing products and tools for sharing knowledge.

Marinus Klasen on Twitter

This site runs on Cloudways.
It's fast isn't it?
Cloudways offers high-quality, fast and affordable hosting.

Learn more

Need a hand? Post your project and hire me and other top notch developers on Codeable.

Hire me on Codeable

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Ready to take action?

I'm looking forward to discuss your projects and goals!
Feel free to reach out using the contact details below.

Marinus Klasen

[email protected]
twitter.com/marinusklasen
linkedin.com/in/marinusklasen

  • GitHub
  • LinkedIn
  • Twitter

Have you read?

  • Storing private data with SSH on WPEngine sitesDecember 15, 2022
  • Get the HTML content of a block edit page or post in WordPressNovember 30, 2022
  • Rename Coupon code text to Discount code in WoocommerceNovember 3, 2022
  • Background-size cover in mPDFOctober 22, 2022
  • WordPress.com SSH & duplicating a WordPress.com website locallyOctober 11, 2022

Copyright © 2023 · Marinus Klasen | Webdesign by Team Rood