docker-registry/Dockerfile.template: Launch with 'exec docker-registry'
authorW. Trevor King <wking@tremily.us>
Fri, 18 Jul 2014 20:46:05 +0000 (13:46 -0700)
committerW. Trevor King <wking@tremily.us>
Sat, 19 Jul 2014 03:58:00 +0000 (20:58 -0700)
commit2db7a2952564710346499ef85e689a7b3ce17a68
treeddf0f37b0e9978cea6ce45cc943c463313e7a0bf
parente7ac4f7989181708ee6dab599f582bdce1492256
docker-registry/Dockerfile.template: Launch with 'exec docker-registry'

And modernize the installation and execution:

* Remove setup-configs.sh call, because the script is gone since
  2ee1387a (Clean up configuration management, 2014-05-08).

* Use the setup.py-installed docker-registry endpoint, because run.sh
  is gone since bf3360a2 (replacing run.sh with a "docker-registry"
  console script, 2014-04-02).  Unfortunately, I can't find a way to
  run docker-registry from the source directory (without installing
  it), because Setuptools' pkg_resources seems to need some
  namespace-package *.pth funkyness.  Luckily all this is easier with
  the PEP 420 namespace implementation that landed in Python 3.3.

* Don't pass '--preload' to Gunicorn, because docker_registry.run is
  loading bulk of docker_registry before launching the Gunicorn
  process.  The stack pulling in the initial database-setup is:

    File "/.../docker_registry/run.py", line 23, in <module>
      from .search import *  # noqa
    File "/.../docker_registry/search.py", line 17, in <module>
      INDEX = index.load(cfg.search_backend.lower())
    File "/.../docker_registry/lib/index/__init__.py", line 82, in load
      return db.SQLAlchemyIndex()
    ...

  It seems inefficient to drag all this into the Gunicorn process for
  folks that don't need single-threaded setup, but whatever, it works
  for my use case ;).
docker-registry/Dockerfile.template