Skip to content

Instantly share code, notes, and snippets.

@alebon
Created January 11, 2021 12:20
Show Gist options
  • Save alebon/996446cf0c8f389949c43be530976338 to your computer and use it in GitHub Desktop.
Save alebon/996446cf0c8f389949c43be530976338 to your computer and use it in GitHub Desktop.
Nix Docker Image creation
let
config = {
packageOverrides = pkgs: rec {
haskellPackages = pkgs.haskellPackages.override {
overrides = haskellPackagesNew: haskellPackagesOld: rec {
myApp =
haskellPackagesNew.callCabal2nix "my-app" (./.) { };
};
};
};
};
pkgs = import (builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/20.09.tar.gz";
}) { inherit config; };
in
{ myAppImage = pkgs.dockerTools.buildImage {
name = "domainofmyregistry.com/mycompany/my-app-image-name";
contents = [
pkgs.haskellPackages.myApp
pkgs.bash
pkgs.coreutils
pkgs.htop
pkgs.cacert
];
tag = "latest";
config = {
Cmd = [
""
];
ExposedPorts = {
"8000/tcp" = {};
};
extraCommands = ''
'';
Env = [
"APP_MODE:production"
];
};
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment