Bees run in Docker containers, and in some cases, you will be required to write a Dockerfile that you will build and push to your Docker registry running on the Bytewax cluster. Docker is a necessary part of the development and deployment workflow while using Bytewax and this page contains some information to help make it less painful.
Bytewax Docker Images
Bees require the bytewax sdk in order to function properly. We maintain bytewax images that can be used as a base image for your Dockerfiles to be based off of. For a list of the available images, check out the GitHub package registry.
Bytewax Docker Registries
Each Bytewax cluster has its own registry. To get the login credentials, reach out to Bytewax. If you would like to use your own registry, also please contact us.
Docker builds and Docker pushes can take a lot of time, this slows down your development cycle and is a total pain! We recommend using multi-stage builds to help with this. Below is an example of a multi-stage build.
FROM ghcr.io/bytewax/python-sdk:v0.5.1 as build COPY ./requirements.txt / WORKDIR / RUN pip install -r requirements.txt FROM build AS build-deps COPY . /swarm WORKDIR /swarm
With this method you can ensure parts of your Docker image that are not changing will be cached and reused.