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

     1  # Bootstrap Images
     2  
     3  These Dockerfiles create images that contain everything Vitess expects to have
     4  after successfully running `bootstrap.sh` and `dev.env`.
     5  
     6  The `vitess/bootstrap` image comes in different flavors:
     7  
     8  * `vitess/bootstrap:common`    - dependencies that are common to all flavors
     9  * `vitess/bootstrap:mysql57`   - bootstrap image for MySQL 5.7
    10  * `vitess/bootstrap:mysql80`   - bootstrap image for MySQL 8.0
    11  * `vitess/bootstrap:percona57` - bootstrap image for Percona Server 5.7
    12  * `vitess/bootstrap:percona80` - bootstrap image for Percona Server 8.0
    13  
    14  **NOTE: Unlike the base image that builds Vitess itself, this bootstrap image
    15  will NOT be rebuilt automatically on every push to the Vitess main branch.**
    16  
    17  To build a new bootstrap image, use the [build.sh](https://github.com/vitessio/vitess/blob/main/docker/bootstrap/build.sh)
    18  script.
    19  
    20  First build the `common` image, then any flavors you want. For example:
    21  
    22  ```sh
    23  vitess$ docker/bootstrap/build.sh common
    24  vitess$ docker/bootstrap/build.sh mysql80
    25  ```
    26  
    27  Is it also possible to specify the resulting image name:
    28  
    29  ```sh
    30  vitess$ docker/bootstrap/build.sh common --image my-common-image
    31  ```
    32  
    33  If custom image names are specified, you might need to set the base image name when building flavors:
    34  
    35  ```sh
    36  vitess$ docker/bootstrap/build.sh mysql80 --base_image my-common-image
    37  ```
    38  
    39  Both arguments can be combined. For example:
    40  
    41  ```sh
    42  vitess$ docker/bootstrap/build.sh mysql80 --base_image my-common-image --image my-mysql-image
    43  ```
    44  
    45  ## For Vitess Project Maintainers
    46  
    47  To update all bootstrap images on Docker Hub, you can use the `docker_bootstrap`
    48  Makefile target to build every flavor:
    49  
    50  1.  Build new bootstrap images.
    51  
    52      ``` sh
    53      vitess$ make docker_bootstrap
    54      ```
    55  
    56  1.  For each flavor, run all tests and make sure that they pass.
    57  
    58      ``` sh
    59      vitess$ make docker_bootstrap_test
    60      ```
    61  
    62  1.  When all tests passed, push each image to Docker Hub.
    63  
    64      ``` sh
    65      vitess$ make docker_bootstrap_push
    66      ```
    67