Parcourir la source

docs: contributing docs update for cross comp

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
CrazyMax il y a 2 ans
Parent
commit
83280d44d0
2 fichiers modifiés avec 29 ajouts et 0 suppressions
  1. 1 0
      docs/contributing/README.md
  2. 28 0
      docs/contributing/ctn-build.md

+ 1 - 0
docs/contributing/README.md

@@ -6,5 +6,6 @@
  * (Optional) [Configure project for IDE](set-up-ide.md)
  * (Optional) [Configure project for IDE](set-up-ide.md)
  * [Configure Git for contributing](set-up-git.md)
  * [Configure Git for contributing](set-up-git.md)
  * [Work with a development container](set-up-dev-env.md)
  * [Work with a development container](set-up-dev-env.md)
+ * [Containerized build and cross compilation](ctn-build.md)
  * [Run tests and test documentation](test.md)
  * [Run tests and test documentation](test.md)
  * [Debugging the daemon](debug.md)
  * [Debugging the daemon](debug.md)

+ 28 - 0
docs/contributing/ctn-build.md

@@ -0,0 +1,28 @@
+The `Dockerfile` supports building and cross compiling docker daemon and extra
+tools using [Docker Buildx](https://github.com/docker/buildx) and [BuildKit](https://github.com/moby/buildkit).
+A [bake definition](https://docs.docker.com/build/bake/file-definition/) named
+`docker-bake.hcl` is in place to ease the build process:
+
+```shell
+# build binaries for the current host platform
+# output to ./bundles/binary-daemon by default
+docker buildx bake
+# or
+docker buildx bake binary
+
+# build binaries for the current host platform
+# output to ./bin
+DESTDIR=./bin docker buildx bake
+
+# build dynamically linked binaries
+# output to ./bundles/dynbinary-daemon by default
+DOCKER_STATIC=0 docker buildx bake
+# or
+docker buildx bake dynbinary
+
+# build binaries for all supported platforms
+docker buildx bake binary-cross
+
+# build binaries for a specific platform
+docker buildx bake --set *.platform=linux/arm64
+```