summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@ifm.com>2022-01-14 13:30:43 +0100
committerMatthias Beyer <matthias.beyer@ifm.com>2022-02-14 16:04:54 +0100
commit68bbb3d40b4203cadb033f74842463700d7378b8 (patch)
treed96b55f4159c788f367443ca268a575a58994af4
parentf87b9c39ea3f8764068f598b83a30bfd418eda4a (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.nix25
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}"
];
};
};