Nix:在 `amd64` 机器上构建 `aarch64` Docker 镜像

问题描述 投票:0回答:1

使用 Nix Docker 工具,如何在

aarch64
机器上构建 ARM64 (
amd64
) Docker 映像?

docker nix
1个回答
0
投票

参见 https://nix.dev/tutorials/cross-compilation.html

https://github.com/NixOS/nixpkgs/blob/07b889196841399386c384461586b52901b68439/pkgs/build-support/docker/examples.nix#L580

  # basic example, with cross compilation
  cross = let
    # Cross compile for x86_64 if on aarch64
    crossPkgs =
      if pkgs.stdenv.hostPlatform.system == "aarch64-linux" then pkgsCross.gnu64
      else pkgsCross.aarch64-multiplatform;
  in crossPkgs.dockerTools.buildImage {
    name = "hello-cross";
    tag = "latest";
    copyToRoot = pkgs.buildEnv {
      name = "image-root";
      pathsToLink = [ "/bin" ];
      paths = [ crossPkgs.hello ];
    };
  };
© www.soinside.com 2019 - 2024. All rights reserved.