mirror of https://github.com/apache/superset.git
docs(installation): document multi-platform support in Docker builds (#27072)
This commit is contained in:
parent
3f91bdb40d
commit
c010f99020
|
@ -6,14 +6,16 @@ schemes to help users navigate our offerings.
|
||||||
|
|
||||||
Images are built and pushed to the [Superset Docker Hub repository](
|
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:
|
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
|
- **Published releases** (`release`): with tags like `3.0.0` and the `latest` tag.
|
||||||
|
Those are multi-platform (arm+amd). More on that later.
|
||||||
|
- **Pull request iterations** (`pull_request`):, each identified by tags starting with a SHA like
|
||||||
`8a2f7d378ab13c156fa183d9284b607ed69f5ecc`, and `pr-3454`, referencing the pull
|
`8a2f7d378ab13c156fa183d9284b607ed69f5ecc`, and `pr-3454`, referencing the pull
|
||||||
request ID.
|
request ID.
|
||||||
- Merges to the main branch (`master`), resulting in new SHAs, with tags
|
- **Merges to the main branch** (`push`): resulting in new SHAs, with tags
|
||||||
prefixed with `master` for the latest `master` version.
|
prefixed with `master` for the latest `master` version.
|
||||||
|
|
||||||
Each code version has multiple builds for different purposes, identified by suffixes:
|
Each CI build run has multiple builds for different purposes, identified by suffixes:
|
||||||
- **Build preset:** We offer various images for different needs:
|
- **Build preset:** We offer various images for different needs:
|
||||||
- `lean`: The default Docker image, including both frontend and backend. Tags
|
- `lean`: The default Docker image, including both frontend and backend. Tags
|
||||||
without a build_preset are lean builds, e.g., `latest`.
|
without a build_preset are lean builds, e.g., `latest`.
|
||||||
|
@ -30,7 +32,8 @@ Each code version has multiple builds for different purposes, identified by suff
|
||||||
|
|
||||||
- `latest`: The latest official release build, implicitly the lean build on
|
- `latest`: The latest official release build, implicitly the lean build on
|
||||||
`linux/amd64`.
|
`linux/amd64`.
|
||||||
- `latest-dev`: the `-dev` image of the latest official release build, with a headless browser and root access.
|
- `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
|
- `master`: The latest build from the `master` branch, implicitly lean on
|
||||||
`linux/amd64`.
|
`linux/amd64`.
|
||||||
- `master-dev`: Similar to `master` but includes a headless browser and root access.
|
- `master-dev`: Similar to `master` but includes a headless browser and root access.
|
||||||
|
@ -61,7 +64,20 @@ build times, larger images, lower layer cache hit rate, ...).
|
||||||
For production use cases, we recommend that you derive our `lean` image(s) and
|
For production use cases, we recommend that you derive our `lean` image(s) and
|
||||||
add database support for the database you need.
|
add database support for the database you need.
|
||||||
|
|
||||||
## On ARM builds and working with Apple silicon
|
## On supporting arm64 AND amd64
|
||||||
|
|
||||||
|
Only the release builds are multi-platform, supporting `linux/arm64`
|
||||||
|
and `linux/amd64`. This enables higher level constructs like `helm` and
|
||||||
|
docker-compose to point to these images and effectively be multi-platform
|
||||||
|
as well.
|
||||||
|
|
||||||
|
Pull requests and master builds
|
||||||
|
are one-image-per-platform so that they can be parallized and the
|
||||||
|
build matrix for those is more sparse as we don't need to build every
|
||||||
|
build preset on every platform, and generally can be more selective here.
|
||||||
|
For those builds, we suffix tags with `-arm` where it applies.
|
||||||
|
|
||||||
|
### Working with Apple silicon
|
||||||
|
|
||||||
Apple's current generation of computers uses ARM-based CPUs, and Docker
|
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
|
running on MACs seem to require `linux/arm64/v8` (at least one user's M2 was
|
||||||
|
|
Loading…
Reference in New Issue