Improve on the build process of the docker image

  1. caching layers for multi-stage build
  2. The build process of the docker image can be accelerated by caching layers for multi-stage build: https://testdriven.io/blog/faster-ci-builds-with-docker-cache/ TLDR: Each stage needs to be built (using --target ...) and pushed separately.
  3. The building of "node" stage should be independent of the "python" stage.
  4. Many steps can be grouped together to avoid a lot of tiny layers
  5. installing python packages without versioning is useless because the setup.py script will uninstall most of them and replace them with a versioned package from the requirements.txt
  6. As far as I know there are more modern ways to handle requirements (citation needed)
  7. mismatch in node versions (build:14.8 vs final 16.)
  8. Consider (no hard feelings about this 😄 ) building separate images (still using the single Dockerfile but with multiple targets) for separate services (GUI, worker, north).
  9. Inconsistent package versions during installation (closes: #934 (closed))
  10. Creating of a docker image for the development as mentioned in #989 (closed)
Edited Nov 24, 2022 by Adam Fekete
Assignee Loading
Time tracking Loading