You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Work in progress

Problem

We would like to provide a simple way to deploy and run Apache Bookkeeper with an official Docker image.

In order to create an official image, we should have a repository with all docker build files that we want to be built from docker hub and we have to obtain the DockerHub team approval. Here the 

Proposal

In order to 

Current docker image proposal is hosted on https://github.com/caiok/bookkeeper-docker

This image:

  • Is very similar to Zookeeper one
  • Is based on Alpine Linux, a very appreciated distro for docker image (for lightweightness and security orientation)
    • (warning) Problem: Alpine uses a lightweight libc implementation that could lead to some compatibility issues with some system specific java libraries. The only problem I encountered so far is with Linux native epoll in Netty 4 (an issue for BK 4.5.0).
  • Follows nearly all dockerhub guidelines
    • Problem: it currenty lacks only the key import in gpg signature verification. The best practice is:

      # gpg: key F73C700D: public key "Larry Hastings <larry@hastings.org>" imported
      RUN curl -fSL "https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \
          && curl -fSL "https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \
          && export GNUPGHOME="$(mktemp -d)" \
          && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 97FC712E4C024BBEA48A61ED3A5CA953F73C700D \
          && gpg --batch --verify python.tar.xz.asc python.tar.xz \
          && rm -r "$GNUPGHOME" python.tar.xz.asc \
          # install

      In current docker build "gpg --keyserver" and "gpg --batch" are commented.

 

  • We should provide a docker build file for each released version (starting from 4.4.0). Each build will be contained in a directory named like the label we want to assign to it (i.e "4.4.0/" for image "bookkeer:4.4.0".
    • Question: could be useful provide a docker build "onbuild" for the last unreleased commit?
  • The prop 

 

  • No labels