vitess.io/vitess@v0.16.2/docker/README.md (about)

     1  # Vitess Docker Images
     2  
     3  The Vitess Project publishes several Docker images in
     4  the [Docker Hub "vitess" repository](https://hub.docker.com/u/vitess/). This file describes the purpose of the different
     5  images.
     6  
     7  **TL;DR:** Use the [vitess/lite](https://hub.docker.com/r/vitess/lite/) image for running Vitess. Our Kubernetes
     8  Tutorial uses it as well. Instead of using the `latest` tag, you can pin it to a known stable version e.g. `v4.0`.
     9  
    10  ## Principles
    11  
    12  The structure of this directory and our Dockerfile files is guided by the following principles:
    13  
    14  * The configuration of each Vitess image is in the directory `docker/<image>/`.
    15  * Configurations for other images e.g. our internal tool Keytar (see below), can be in a different location.
    16  * Images with more complex build steps have a `build.sh` script e.g.
    17    see [lite/build.sh](https://github.com/vitessio/vitess/blob/main/docker/lite/build.sh).
    18  * Tags are used to provide (stable) versions e.g. see tag `v2.0` for the
    19    image [vitess/lite](https://hub.docker.com/r/vitess/lite/tags).
    20  * Where applicable, we provide a `latest` tag to reference the latest build of an image.
    21  
    22  ## Images
    23  
    24  Our list of images can be grouped into:
    25  
    26  * published Vitess code
    27  * dependencies for our Kubernetes tutorial
    28  * internally used tools
    29  
    30  ### Vitess
    31  
    32  | Image | How (When) Updated | Description |
    33  | --- | --- | --- |
    34  | bootstrap | manual (after incompatible changes are made to [bootstrap.sh](https://github.com/vitessio/vitess/blob/main/bootstrap.sh) or [vendor/vendor.json](https://github.com/vitessio/vitess/blob/main/vendor/vendor.json) | Basis for all Vitess images. It is a snapshot of the checked out repository after running `./bootstrap.sh`. Used to cache dependencies. Avoids lengthy recompilation of dependencies if they did not change. Our internal test runner [`test.go`](https://github.com/vitessio/vitess/blob/main/test.go) uses it to test the code against different MySQL versions. |
    35  | base | manual (on demand) | Contains all Vitess server binaries. Snapshot after running `make build`. |
    36  | **lite** | automatic (after every push to main branch) | Stripped down version of base
    37  
    38  All these Vitess images include a specific MySQL/MariaDB version ("flavor").
    39  
    40  * We provide Dockerfile files for multiple flavors (`Dockerfile.<flavor>`).
    41  * On Docker Hub we publish only images with MySQL 5.7 to minimize maintenance overhead and avoid confusion.
    42  
    43  If you are looking for a stable version of Vitess, use the **lite** image with a fixed version. If you are looking for
    44  the latest Vitess code in binary form, use the "latest" tag of the **lite** image. 
    45  If you need to use a binary that is not included in **lite** use the **base** image.