修正バージョンを使用してNixでDockerイメージをビルドするバグを修正する方法

修正バージョンを使用してNixでDockerイメージをビルドするバグを修正する方法

固定バージョンでDockerイメージを構築するためにNixを使用しようとしています。ファイルは次のように動作します。

{ pkgs ? import <nixpkgs> { }
}:

pkgs.dockerTools.buildImage {
  ...

ただし、次の場合は失敗します。

{ pkgs ? (import (builtins.fetchTarball { url = "https://github.com/NixOS/nixpkgs/archive/44fc3cb097324c9f9f93313dd3f103e78d722968.tar.gz"; sha256 = "0hxzigajiqjwxbk9bcbvgxq28drq1k2hgmzihs0c441i1wsbqchb";  }) {})
}:

pkgs.dockerTools.buildImage {
  ...

エラーは次のとおりです。

error: 'buildImage' at /nix/store/pyq9xfm1ikhd70dfzbg6fywyqgcvly1l-source/pkgs/build-support/docker/default.nix:491:5 called with unexpected argument 'copyToRoot'

私が何を間違っているかについての提案はありますか?

ベストアンサー1

したがって、copyToRoot過去はcontentsこのコミットから数ヶ月前に呼び出されました。https://github.com/NixOS/nixpkgs/commit/e007eb480c6041fd98b8f9e53bdac2ba82e4648cそして、あなたのコミットはこの以前のバージョンを指します(マスターとは異なるブランチに属しているようです)。

最近のマスターへのコミット(例:44fc3cb097324c9f9f93313dd3f103e78d72296)で確認できるため、この問題は発生しません。https://github.com/NixOS/nixpkgs/blame/44fc3cb097324c9f9f93313dd3f103e78d722968/pkgs/build-support/docker/default.nix#L503

おすすめ記事