Di CentOS (or linux) install nya cukup dengan pip install docker-registry
. Tapi di Windows ini tidak cukup karena docker-registry
dijalankan menggunakan gunicorn
yang sampai dengan saat ini belum bisa berjalan di Windows.
Untuk bisa berjalan di Windows (meskipun dengan sedikit cacat) diperlukan script wrapper seperti ini
import gevent.monkey
gevent.monkey.patch_all()
import os
os.environ['SETTINGS_FLAVOR'] = 'dev'
os.environ['DOCKER_REGISTRY_CONFIG'] = 'docker-registry.yml'
from docker_registry.wsgi import application
try:
application.run(host='0.0.0.0', port=5001)
except:
pass
Tapi setelah dicoba ini dan itu, terpaksa sourcenya dipatch
docker_registry/lib/mirroring.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/docker_registry/lib/mirroring.py b/docker_registry/lib/mirroring.py
index 6934828..33508b2 100644
--- a/docker_registry/lib/mirroring.py
+++ b/docker_registry/lib/mirroring.py
@@ -41,7 +41,8 @@ def lookup_source(path, stream=False, source=None):
source_url = '{0}{1}'.format(source, path)
headers = {}
for k, v in flask.request.headers.iteritems():
- if k.lower() != 'location' and k.lower() != 'host':
+ if k.lower() != 'location' and k.lower() != 'host' \
+ and not k.lower().startswith('x-forwarded') and v.strip() != '':
headers[k] = v
logger.debug('Request: GET {0}\nHeaders: {1}\nArgs: {2}'.format(
source_url, headers, flask.request.args
@@ -165,6 +166,9 @@ def source_lookup(cache=False, stream=False, index_route=False,
if index_route and 'x-docker-endpoints' in headers:
headers['x-docker-endpoints'] = toolkit.get_endpoints()
+ if 'transfer-encoding' in headers and 'chunked' in headers['transfer-encoding']:
+ del headers['transfer-encoding']
+
if not stream:
logger.debug('JSON data found on source, writing response')
resp_data = source_resp.content
Hal ini dikarenakan docker-registry ini dijalankan sebagai proxy utama index.docker.io
karena semua pull (dari guest os) harus melewati registry ini dan gagal jika registry ini tidak berhasil menyediakan.
Lanjutkan membaca “Install Docker Registry di Windows” →