github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/tools/docker/README.md (about)

     1  # Docker images
     2  
     3  We provide a set of Docker images that provide dev environment suitable for syzkaller development/testing.
     4  These images are used by CI, but can also be used for [local development](/docs/contributing.md#using-syz-env).
     5  
     6  - [env](/tools/docker/env/Dockerfile) includes Go/fuchsia/netbsd toolchains, gcloud sdk, C/C++ cross-compilers, make, git and other essential tools.
     7  - [old-env](/tools/docker/old-env/Dockerfile) provides essential tools but based on an older disto (ubuntu:16.04).
     8  
     9  These images are available as `gcr.io/syzkaller/{env,old-env}`, respectively.
    10  
    11  To download and run locally:
    12  ```
    13  docker pull gcr.io/syzkaller/env
    14  docker run -it gcr.io/syzkaller/env
    15  ```
    16  
    17  To build and push a new version:
    18  ```
    19  docker build -t gcr.io/syzkaller/env tools/docker/env
    20  gcloud auth login && gcloud auth configure-docker
    21  docker push gcr.io/syzkaller/env
    22  ```
    23  
    24  [DEPRECATED] Github packages are not supported (if you can't access gcr.io, please contact us)
    25  ```
    26  docker tag gcr.io/syzkaller/env docker.pkg.github.com/google/syzkaller/env
    27  docker login https://docker.pkg.github.com
    28  docker push docker.pkg.github.com/google/syzkaller/env
    29  ```
    30  
    31  ## Syzbot image
    32  
    33  The syzbot image supports two architectures (arm64, amd64), so we need to build it with care.
    34  
    35  The example below uses [the standard Docker functionality](https://docs.docker.com/build/building/multi-platform/) to build a
    36  multi-arch image in a way that allows to distribute it under one tag names.
    37  
    38  ```bash
    39  docker run --privileged --rm tonistiigi/binfmt --install all
    40  docker buildx create --name mybuilder --driver docker-container --bootstrap
    41  docker buildx use mybuilder
    42  gcloud auth login && gcloud auth configure-docker
    43  docker buildx build --platform linux/amd64,linux/arm64 -t gcr.io/syzkaller/syzbot tools/docker/syzbot --push
    44  ```