diff options
author | Matthias Beyer <matthias.beyer@ifm.com> | 2022-01-14 13:30:43 +0100 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@ifm.com> | 2022-02-14 16:04:54 +0100 |
commit | 68bbb3d40b4203cadb033f74842463700d7378b8 (patch) | |
tree | d96b55f4159c788f367443ca268a575a58994af4 | |
parent | f87b9c39ea3f8764068f598b83a30bfd418eda4a (diff) |
Build layered container images instead of using debian as a base
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
-rw-r--r-- | examples/containers.nix | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/examples/containers.nix b/examples/containers.nix index b608712e..801e086e 100644 --- a/examples/containers.nix +++ b/examples/containers.nix @@ -3,35 +3,30 @@ }: let - baseImage = pkgs.dockerTools.pullImage { - imageName = "debian"; - imageDigest = "sha256:a4c378901a2ba14fd331e96a49101556e91ed592d5fd68ba7405fdbf9b969e61"; - sha256 = "sha256:1i20cf0x3hwzypfw1jhkxj2q0lryc6187mk41053lyrdy57lgv4k"; - finalImageName = "debian"; - finalImageTag = "bullseye"; + mosquittoContainerImage = pkgs.dockerTools.buildLayeredImage { + name = "tedge-mosquitto"; + tag = "latest"; + + fromImage = null; # from "scratch" + contents = [ pkgs.mosquitto ]; }; mkTedgeContainerForPkg = tPackage: pkgs.dockerTools.buildImage { name = tPackage.pname; tag = tPackage.version; - fromImage = baseImage; - fromImageName = null; - fromImageTag = null; + fromImage = mosquittoContainerImage; + + contents = [ tPackage.pkg pkgs.bashInteractive ]; runAsRoot = '' #!${pkgs.runtimeShell} - mkdir -p /etc/sudoers.d - cp ${tPackage.pkg} / ''; config = { Cmd = [ - "apt update -y" - "apt install -y mosquitto" - "apt install -y ./*${tPackage.pname}*.deb" - "${tPackage.pkg}/bin/${tPackage.binaryName}" + "/${tPackage.pname}" ]; }; }; |