Skip to content

Latest commit

 

History

History
87 lines (61 loc) · 3.37 KB

README.md

File metadata and controls

87 lines (61 loc) · 3.37 KB

base-docker-images

Utility repository for publishing docker images that we depend on.

These images build and publish automatically using GitHub Actions.

Available images

Image name Description Source Dockerfile
iree-org/amdgpu_ubuntu_jammy_x86_64 Ubuntu with AMDGPU deps Source
iree-org/amdgpu_ubuntu_jammy_ghr_x86_64 Ubuntu with AMDGPU deps (GitHub runner) Source
iree-org/cpubuilder_ubuntu_jammy CPU builder with IREE build deps Source
iree-org/cpubuilder_ubuntu_jammy_ghr CPU builder with IREE build deps (GitHub runner) Source
iree-org/manylinux_x86_64 Portable Linux release builder for Python packaging Source
iree-org/manylinux_ghr_x86_64 Portable Linux release builder for Python packaging (GitHub runner) Source

Using published images

Images are published to the GitHub Container registry which uses the https://ghcr.io package namespace. See GitHub's documentation for full details.

The full list of packages can be browsed at https://github.com/orgs/iree-org/packages?repo_name=base-docker-images. Images can be referenced using tags or hashes:

  • ghcr.io/iree-org/manylinux_x86_64:main
  • ghcr.io/iree-org/manylinux_x86_64@sha256:facedb71df670016e74e646d71e869e6fff70d4cdbaa6634d4d0a10d6e174399 (for example)

Building locally

To build locally, use a command like:

sudo docker buildx build --file dockerfiles/some.Dockerfile .

This will print a SHA image id, which you can run with:

sudo docker run --rm -it --entrypoint /bin/bash <<IMAGE>>

You can also tag an image to avoid needing to copy the SHA each time:

sudo docker buildx build --file dockerfiles/cpubuilder_ubuntu_jammy.Dockerfile . --tag cpubuilder:latest
sudo docker run --rm --mount type=bind,source="$(realpath ~/iree)",target=/iree -it --entrypoint bash cpubuilder:latest

Multi-arch and multi-platform builds

We publish images for multiple architectures, e.g. amd64 and arm64. See the documentation for multi-arch and multi-platform builds here:

To build and use a multi-architecture image, pass --platform:

sudo docker buildx build --file dockerfiles/cpubuilder_ubuntu_jammy.Dockerfile --platform=linux/arm64,linux/amd64 . --tag cpubuilder:latest
  • To run a multiplatform image on your host architecture, no changes are needed:

    sudo docker run --rm -it --entrypoint bash cpubuilder:latest
    
    root:/$ uname -m
    x86_64
  • To run a multiplatform image on a different architecture, pass --platform:

    sudo docker run --rm -it --entrypoint bash --platform=linux/arm64 cpubuilder:latest
    
    root:/$ uname -m
    aarch64