docker-archive / docker-registry

This is **DEPRECATED**! Please go to https://github.com/docker/distribution
Apache License 2.0
2.88k stars 877 forks source link

Running Registry with S3 backend behind http/https proxy #970

Open radenui opened 9 years ago

radenui commented 9 years ago

Hello all,

I run this registry inside a private network that does not allow a direct access to the internet. To make docker server aware of the proxy, I added: export HTTP_PROXY=http://proxy:3128 export HTTPS_PROXY=http://proxy:3128 export NO_PROXY="*.my.domain.int, 10.0.0.0/8" in the /etc/sysconfig/docker file.

It works: I can run the registry directly by using the standard docker run command.

My problem comes later: as the registry is using a backend in S3, I also have to provide the same information into the container itself (and the S3 backend engine in particular) so the registry can actually connect the proxy to access the internet and the S3 bucket location.

Usually, the AWS python SDK is able to interpret same exported variables (HTTP_PROXY, HTTPS_PROXY, NO_PROXY). Would it be possible to enable to container to be passed these variables at start (-e HTTP_PROXY=...) ?

Thanks,

dmp42 commented 9 years ago

Hi,

Thanks for this. If you are willing to make a PR for this, I would definitely merge it. Now, the python registry is in maintenance mode now, and the future is in https://github.com/docker/distribution

Hope that helps.

radenui commented 9 years ago

It does, thanks.

Just so you know, I found a workaround for the proxy settings: Adding this configuration to the default config yaml:

s3:
  boto_proxy: _env:PROXY_HOST
  boto_proxy_port: _env:PROXY_PORT

and passing -e PROXY_HOST=myproxy -e PROXY_PORT=12345 to the run command works.

It still does not use the default boto configuration options, but at least that's a start.

Thanks!