고정된 버전에서 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