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 ;).