Skip to content

Latest commit

 

History

History
 
 

bootstrap

Bootstrap Images

These Dockerfiles create images that contain everything Vitess expects to have after successfully running bootstrap.sh and dev.env.

The vitess/bootstrap image comes in different flavors:

  • vitess/bootstrap:common - dependencies that are common to all flavors
  • vitess/bootstrap:mariadb - bootstrap image for MariaDB
  • vitess/bootstrap:mysql56 - bootstrap image for MySQL 5.6
  • vitess/bootstrap:mysql57 - bootstrap image for MySQL 5.7
  • vitess/bootstrap:percona - bootstrap image for Percona Server
  • vitess/bootstrap:percona57 - bootstrap image for Percona Server 5.7

NOTE: Unlike the base image that builds Vitess itself, this bootstrap image will NOT be rebuilt automatically on every push to the Vitess main branch.

To build a new bootstrap image, use the build.sh script.

First build the common image, then any flavors you want. For example:

vitess$ docker/bootstrap/build.sh common
vitess$ docker/bootstrap/build.sh mysql56

Is it also possible to specify the resulting image name:

vitess$ docker/bootstrap/build.sh common --image my-common-image

If custom image names are specified, you might need to set the base image name when building flavors:

vitess$ docker/bootstrap/build.sh mysql56 --base_image my-common-image

Both arguments can be combined. For example:

vitess$ docker/bootstrap/build.sh mysql56 --base_image my-common-image --image my-mysql-image

For Vitess Project Maintainers

To update all bootstrap images on Docker Hub, you can use the docker_bootstrap Makefile target to build every flavor:

  1. Build new bootstrap images.

    vitess$ make docker_bootstrap
  2. For each flavor, run all tests and make sure that they pass.

    vitess$ make docker_bootstrap_test
  3. When all tests passed, push each image to Docker Hub.

    vitess$ make docker_bootstrap_push