- I had clean system before but after running DockerBuild, I can see 3 different images of pgAdmin4, Is this expected?
Yes, this is expected and is the same for old docker image. Two unnamed images are temporary images from build process and can be safely removed, if you don't want cache for next builds.
- We can remove /tests/ folder from each folders, we can also remove /web/regression/ folder from the container, they are used to run tests.
We don't require them on production code.
Sounds reasonable. In fact, I believe I did that when making a prototype, but forgot to replicate in this patch. Will do.
On Sat, Mar 31, 2018 at 11:19 PM, Максим Кольцов <kolmax94@gmail.com> wrote:
Hi all,
I've been discussing this with Dave for about a month now. Today I finally present a proposed patch to update pgadmin4's Docker packaging.
Key features of this update: - Main image is based on python:3.6-alpine3.7. Using Alpine linux leads to much smaller image - All build is done with Docker multi-stage build. First of all build the frontend in node:6 image, then build Sphinx documentation in separate Python container and in the end just install all dependencies in a clean python:3.6-alpine3.7 image, so that it does not have any leftovers from the build process and we don't rely on any tools available on the host. - Use Gunicorn (http://gunicorn.org) as lightweight HTTP / WSGI server. Gunicorn supports both HTTP and HTTPS. - Install Alpine postgresql-client package, which includes pg_dump and other tools and config PgAdmin to find these tools by default - Byte-compile all PgAdmin Python code in Dockerfile with optimization (-O) enabled. This way Python does not have to compile modules on each container restart and consume space in overlay fs
Please find attached patch from "git format-patch".