I need a way to specify proxy settings to the VM so that I can pull images from docker hub. Even if I could get it to read my PROXY_URL env, that’d be enough I think!
It would be enough for me to be able to set HTTP_PROXY for the daemon, like docker-machine create ... --engine-env HTTP_PROXY=....
My Docker registry is in an Amazon VPC, and we have a “bastion” host we can ssh -D 1080 through. Once I do that, ssh provides a SOCKS proxy I can use. In Docker Machine land, I instead use Polipo to provide an HTTP proxy, and then point HTTP_PROXY at that. If there were a way for Docker-for-Mac to set that variable for the daemon, it would meet my needs without needing to change anything in the daemon itself.
I’m assuming that you intend to fix this. I am very enthusiastic about the new implementation, but…
For me, and I suspect many others, the “VPN compatibility mode” is a great step forward, and critical to enable use while connected to a corporate VPN; however, we must be able to route requests through the corporate HTTP/HTTPS proxy in order to reach index.docker.io.
Without a fix, this means that even with this new implementation on the Mac, it is still the case that neither our remote developers (myself included) nor our customers who rely on the Cisco VPN can use our Docker based solutions.
While HTTP_PROXY could be defined for an individual image at build time, it has to be available for the daemon too, so that images can be pulled from the HUB.
What is restricting the option from being applied to the daemon’s config in the Alpine Linux VM?
Is there any back-door to the Alpine Linux VM as of yet? i.e. as in docker-machine ssh of old.
Same here. Need HTTP_PROXY, HTTPS_PROXY and non-proxy hosts setting when on corporate network, otherwise no proxy at all.
On the mac at least, there’s a mechanism to get inside the alpine linux vm listed here:
To get a console on the Linux machine, use login=root and no password after typing:
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
So really what I am asking is what is the service manager or equiv that runs the docker daemon and how do I modify what it runs and then restart it (assume restart via pinata restart) ?
Looks like its standard alpine linux service. Probably modify /etc/init.d/docker and just restart the service as opposed to the VM. That might be a viable temporary solution for now.