How to force docker-machine to use private IP instead public

August 3, 2018 1.1k views


I’m using GitLab runners in autoscale mode with DigitalOcean.
I notice that GitLab runner by using Docker Machine use Public IP instead Private.
I precise --digitalocean-private-networking option, but it changes nothing.

When I docker-machine inspect my-machine I saw "PrivateNetworking": true but "IPAddress" is a public one.

Does this the normal behavior? Does this could be changed?


2 Answers

I’d like to know this too. Currently, I’m having to allow all 2376/tcp traffic from anywhere in the world through my firewall, and I’d really rather not. Can I force docker-machine to use the internal IP?

eval $(docker-machine env test123)
export DOCKER_HOST=$(doctl compute droplet ls --format PrivateIPv4 --no-header test123
  • Nice. Could do the job if I had the hand on this. But I use GitLab CI with docker+machine in autoscale mode. So I can’t do this …

Have another answer? Share your knowledge.