* fix: uv leftover docs * fix: docker build failing * chore: doc * fix: remove old pytorch build * fix: stop recommend flash-attn optional, let transformers pull * fix: remove ring flash attention from image * fix: quotes [skip ci] * chore: naming [skip ci]
156 lines
4.3 KiB
Plaintext
156 lines
4.3 KiB
Plaintext
---
|
|
title: "Docker"
|
|
format:
|
|
html:
|
|
toc: true
|
|
toc-depth: 4
|
|
---
|
|
|
|
This section describes the different Docker images that are released by AxolotlAI at
|
|
[Docker Hub](https://hub.docker.com/u/axolotlai).
|
|
|
|
::: {.callout-important}
|
|
For Blackwell GPUs, please use the tags with PyTorch 2.9.1 and CUDA 12.8.
|
|
:::
|
|
|
|
::: {.callout-important}
|
|
### Switch to the `-uv` images
|
|
|
|
Each image below ships a **uv variant** that uses [uv](https://docs.astral.sh/uv/) with a relocatable venv
|
|
(`/workspace/axolotl-venv`) instead of Miniconda + pip. Append `-uv` to the image name
|
|
(e.g. `axolotlai/axolotl-uv`, `axolotlai/axolotl-base-uv`, `axolotlai/axolotl-cloud-uv`). Tags follow the
|
|
same format as their non-uv counterparts.
|
|
|
|
**We recommend switching to the `-uv` images early.** In the near future we will publish the uv-based
|
|
build to the non-uv tags as well. The non-uv names will continue to work, but they will start serving
|
|
the uv image.
|
|
:::
|
|
|
|
## Base
|
|
|
|
The base image is the most minimal image that can install Axolotl. It is based on the `nvidia/cuda` image.
|
|
It includes python, torch, git, git-lfs, awscli, pydantic, and more.
|
|
|
|
#### Image
|
|
|
|
| Variant | Image | Docker Hub |
|
|
|---------|-------|------------|
|
|
| pip | `axolotlai/axolotl-base` | [Link](https://hub.docker.com/r/axolotlai/axolotl-base) |
|
|
| uv | `axolotlai/axolotl-base-uv` | [Link](https://hub.docker.com/r/axolotlai/axolotl-base-uv) |
|
|
|
|
#### Tags format
|
|
|
|
```bash
|
|
main-base-py{python_version}-cu{cuda_version}-{pytorch_version}
|
|
```
|
|
|
|
Tags examples:
|
|
|
|
- `main-base-py3.11-cu128-2.9.1`
|
|
- `main-base-py3.12-cu128-2.10.0`
|
|
- `main-base-py3.12-cu130-2.9.1`
|
|
- `main-base-py3.12-cu130-2.10.0`
|
|
|
|
## Main
|
|
|
|
The main image is the image that is used to run Axolotl. It is based on the `axolotlai/axolotl-base` image and includes the Axolotl codebase, dependencies, and more.
|
|
|
|
#### Image
|
|
|
|
| Variant | Image | Docker Hub |
|
|
|---------|-------|------------|
|
|
| pip | `axolotlai/axolotl` | [Link](https://hub.docker.com/r/axolotlai/axolotl) |
|
|
| uv | `axolotlai/axolotl-uv` | [Link](https://hub.docker.com/r/axolotlai/axolotl-uv) |
|
|
|
|
#### Tags format {#sec-main-tags}
|
|
|
|
```bash
|
|
# on push to main
|
|
main-py{python_version}-cu{cuda_version}-{pytorch_version}
|
|
|
|
# latest main (currently torch 2.9.1, python 3.11, cuda 12.8)
|
|
main-latest
|
|
|
|
# nightly build
|
|
{branch}-{date_in_YYYYMMDD}-py{python_version}-cu{cuda_version}-{pytorch_version}
|
|
|
|
# tagged release
|
|
{version}
|
|
```
|
|
|
|
:::{.callout-tip}
|
|
|
|
There may be some extra tags appended to the image, like `-vllm` which installs those packages.
|
|
|
|
:::
|
|
|
|
Tags examples:
|
|
|
|
- `main-py3.11-cu128-2.9.1`
|
|
- `main-py3.12-cu128-2.10.0`
|
|
- `main-py3.12-cu130-2.9.1`
|
|
- `main-py3.12-cu130-2.10.0`
|
|
- `main-latest`
|
|
- `main-20260315-py3.11-cu128-2.9.1`
|
|
- `0.16.1`
|
|
|
|
## Cloud
|
|
|
|
The cloud image is the image that is used to run Axolotl in the cloud. It is based on the `axolotlai/axolotl` image and sets ENV variables like HuggingFace cache directories for volume mounts, tmux, and more for different cloud providers.
|
|
|
|
:::{.callout-tip}
|
|
|
|
Jupyter lab is run by default. Set `JUPYTER_DISABLE=1` in the environment variables to disable it.
|
|
|
|
:::
|
|
|
|
#### Image
|
|
|
|
| Variant | Image | Docker Hub |
|
|
|---------|-------|------------|
|
|
| pip | `axolotlai/axolotl-cloud` | [Link](https://hub.docker.com/r/axolotlai/axolotl-cloud) |
|
|
| uv | `axolotlai/axolotl-cloud-uv` | [Link](https://hub.docker.com/r/axolotlai/axolotl-cloud-uv) |
|
|
|
|
#### Tags format
|
|
|
|
This uses the same tags as the [`main` image](#sec-main-tags).
|
|
|
|
#### Environment variables
|
|
|
|
- `JUPYTER_DISABLE`: Disable Jupyter lab.
|
|
- `JUPYTER_PASSWORD`: Set a password for the Jupyter lab.
|
|
- `PUBLIC_KEY` / `SSH_KEY`: Add a public key for the SSH service.
|
|
|
|
#### Volume mounts
|
|
|
|
:::{.callout-tip}
|
|
|
|
We recommend mounting volumes to `/workspace/data` for data persistence. `/workspace/axolotl` contains the source code and is ephemeral.
|
|
|
|
:::
|
|
|
|
- `/workspace/data/axolotl-artifacts`: Directory to store Axolotl artifacts.
|
|
- `/workspace/data/huggingface-cache`: Directory to store HuggingFace cache.
|
|
|
|
## Cloud-no-tmux
|
|
|
|
This is the same as the [`cloud` image](#sec-cloud) but without tmux.
|
|
|
|
#### Image
|
|
|
|
```
|
|
axolotlai/axolotl-cloud-term
|
|
```
|
|
|
|
Link: [Docker Hub](https://hub.docker.com/r/axolotlai/axolotl-cloud-term)
|
|
|
|
:::{.callout-note}
|
|
|
|
The naming may be a bit confusing as it has `-term` appended to the end.
|
|
|
|
:::
|
|
|
|
#### Tags format
|
|
|
|
This uses the same tags as the [`cloud` image](#sec-cloud-tags).
|