mirror of
https://github.com/apache/superset.git
synced 2026-04-20 16:44:46 +00:00
feat: docker image tags documentation + tweaks (#26923)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
fdff6d84f3
commit
6b0d8ed265
66
docs/docs/installation/docker.mdx
Normal file
66
docs/docs/installation/docker.mdx
Normal file
@@ -0,0 +1,66 @@
|
||||
# Docker Images and Tags
|
||||
|
||||
The Apache Superset community extensively uses Docker for development, release,
|
||||
and productionizing Superset. This page details our Docker builds and tag naming
|
||||
schemes to help users navigate our offerings.
|
||||
|
||||
Images are built and pushed to the [Superset Docker Hub repository](
|
||||
https://hub.docker.com/r/apache/superset). Different sets of images are created for:
|
||||
- Published releases, with tags like `3.0.0` and the `latest` tag.
|
||||
- Pull request iterations, each identified by tags starting with a SHA like
|
||||
`8a2f7d378ab13c156fa183d9284b607ed69f5ecc`, and `pr-3454`, referencing the pull
|
||||
request ID.
|
||||
- Merges to the main branch (`master`), resulting in new SHAs, with tags
|
||||
prefixed with `master` for the latest `master` version.
|
||||
|
||||
Each code version has multiple builds for different purposes, identified by suffixes:
|
||||
- **Build preset:** We offer various images for different needs:
|
||||
- `lean`: The default Docker image, including both frontend and backend. Tags
|
||||
without a build_preset are lean builds, e.g., `latest`.
|
||||
- `dev`: For development, with a headless browser and root access.
|
||||
- `py310`, e.g., Py310: Similar to lean but with a different Python version (in this example, 3.10).
|
||||
- `ci`: For certain CI workloads.
|
||||
- `websocket`: For Superset clusters supporting advanced features.
|
||||
- `dockerize`: Used by Helm.
|
||||
- **Platform:** We build for `linux/arm64` and `linux/amd64`. The `-arm` suffix
|
||||
indicates ARM builds (e.g., `latest-arm`), while tags without a suffix are for
|
||||
AMD (e.g., `latest`).
|
||||
|
||||
## Key Image Tags and Examples
|
||||
|
||||
- `latest`: The latest official release build, implicitly the lean build on
|
||||
`linux/amd64`.
|
||||
- `latest-dev`: the `-dev` image of the latest official release build, with a headless browser and root access.
|
||||
- `master`: The latest build from the `master` branch, implicitly lean on
|
||||
`linux/amd64`.
|
||||
- `master-dev`: Similar to `master` but includes a headless browser and root access.
|
||||
- `pr-5252`: The latest commit in PR 5252.
|
||||
- `30948dc401b40982cb7c0dbf6ebbe443b2748c1b-dev-arm`: A `linux/arm64` build for
|
||||
this specific SHA, which could be from a pull request, master merge, or release.
|
||||
- `30948dc-dev-arm`: Same as above, but SHA truncated to 7 characters for a
|
||||
shorter handle on the same image
|
||||
- `websocket-latest`: The WebSocket image for use in a Superset cluster.
|
||||
|
||||
For insights or modifications to the build matrix and tagging conventions,
|
||||
check the [build_docker.py](https://github.com/apache/superset/blob/master/scripts/build_docker.py)
|
||||
script and the [docker.yml](https://github.com/apache/superset/blob/master/.github/workflows/docker.yml)
|
||||
GitHub action.
|
||||
|
||||
## Caching
|
||||
|
||||
To accelerate builds, we follow Docker best practices and use `apache/superset-cache`.
|
||||
|
||||
## On ARM builds and working with Apple silicon
|
||||
|
||||
Apple's current generation of computers uses ARM-based CPUs, and Docker
|
||||
running on MACs seem to require `linux/arm64/v8` (at least one user's M2 was
|
||||
configured in that way). Setting the environment
|
||||
variable `DOCKER_DEFAULT_PLATFORM` to `linux/amd64` seems to function in
|
||||
term of leveraging, and building upon the Superset builds provided here.
|
||||
|
||||
```
|
||||
export DOCKER_DEFAULT_PLATFORM=linux/amd64
|
||||
```
|
||||
|
||||
Presumably, `linux/arm64/v8` would be more optimized for this generation
|
||||
of chips, but less compatible across the ARM ecosystem.
|
||||
Reference in New Issue
Block a user