我开始玩NixOS部署了。为此,我有一个带有定义了一些包的repo,以及一个服务器的configuration.nix。
这样看来,我应该能够在本地测试这个配置(我还在运行NixOS)。我认为将全局configuration.nix更改为指向部署服务器的configuration.nix是个坏主意(谁知道这会破坏什么);但是是否有一种安全方便的方法在本地“试用”服务器--即构建它并引导它,或者更好地将它作为一个单独的进程启动?
当然,我可以看到码头是一种方式,也许没有别的东西了。但我有一种模糊的感觉,尼克斯有能力独自做这件事。
发布于 2018-12-04 18:12:29
有一种相当标准的方法可以实现这一点,这是内置在默认系统中的。
即nixos-rebuild build-vm.这将获取当前的配置文件(默认情况下是/etc/nixos/ configuration .nixos),构建它并创建一个脚本,允许您将配置引导到虚拟机器中。
脚本完成后,它将在当前目录中留下一个符号链接。然后,您可以通过运行./result/bin/run-$HOSTNAME-vm来引导,这将启动您的虚拟机器的启动,供您使用。
TLDR;
nixos-rebuild build-vm./result/bin/run-$HOSTNAME-vm发布于 2019-02-25 17:53:04
然而,nixos-rebuild build-vm是最简单的方法;您也可以将配置导入到NixOS容器中(参见NixOS手册和nixos-container命令中的第47章。集装箱管理 )。
这样做的方法如下:
containers.mydeploy = {
privateNetwork = true;
config = import ../mydeploy-configuration.nix;
};请注意,如果网络配置是静态的,则而不是希望在mydeploy-configuration.nix中指定网络配置,因为这可能会导致与为容器创建的网络子网发生冲突。
https://stackoverflow.com/questions/53600226
复制相似问题