summary refs log tree commit diff
path: root/pkgs/build-support/docker
Commit message (Collapse)AuthorAge
...
* Merge pull request #139892 from hercules-ci/dockerTools-test-pullImageRobert Hensing2021-09-29
|\ | | | | dockerTools: test pullImage
| * dockerTools: Test pullImage fetcher whenever its implementation changesRobert Hensing2021-09-29
| |
* | dockerTools.exportImage: Make $out a tarball againRobert Hensing2021-09-29
| |
* | dockerTools.runWithOverlay: Avoid cluttering $out and copyingRobert Hensing2021-09-29
| |
* | dockerTools: fix exportJustin Bedo2021-09-29
| |
* | docker-tools: add example for exportImage functionality and testJustin Bedo2021-09-29
|/
* use --verbatim-files-from in dockerToolsdivanorama2021-09-10
| | | | https://www.gnu.org/software/tar/manual/html_node/files.html files starting with - can be treated as command line options, which isn't desirable here
* dockerTools.usrBinEnv: addFlorian Klink2021-08-25
| | | | | This provides a /usr/bin/env, for shell scripts using the "/usr/bin/env executable" shebang.
* dockerTools.fakeNss: add /etc/nsswitch.conf (#134958)Florian Klink2021-08-20
| | | | | | | | | | | | | | Apparently, a non-existent nsswitch.conf causes a very misleading host resolution, differing from the defaults people are used to. According to https://github.com/golang/go/issues/22846#issuecomment-346377144, glibc says the default is "dns [!UNAVAIL=return] files". This means, `/etc/hosts` isn't really honored, causing all sorts of unexpected behaviour. Let's prevent this, and first ask `/etc/hosts` before querying DNS, like we do on NixOS too.
* treewide: runCommandNoCC -> runCommandRobert Hensing2021-08-15
| | | | This has been synonymous for ~5y.
* dockerTools.pullImage: fix for skopeo 1.4.xLuke Granger-Brown2021-08-14
| | | | | | | | skopeo 1.4.x doesn't accept --src-tls-verify as a flag to the *program*, only as a flag to copy; we must pass it after the "copy" verb, or it will fail with: > FATA[0000] unknown flag: --src-tls-verify
* docker: formatSandro Jäckel2021-08-10
|
* Merge pull request #132626 from zowoq/tarsumRobert Hensing2021-08-05
|\ | | | | tarsum: init
| * tarsum: initzowoq2021-08-05
| | | | | | | | | | - move from dockerTools.tarsum - remove go from runtime closure
* | dockerTools.buildImage: Allow build on darwin (#132640)Robert Hensing2021-08-04
|/ | | | Indeed Docker can not run darwin exes, but darwin can build Docker images, as some users already do with buildLayeredImage.
* dockerTools.tarsum: use current gozowoq2021-07-08
|
* dockerTools.pullImage: force disable skopeo's progress barLuke Granger-Brown2021-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | skopeo will disable the progress bar if it detects that stdout isn't a TTY - in order to make it think that stdout _isn't_ a TTY and therefore avoid it printing a lot of "…" on separate lines, we pipe the output through cat. This changes the output from: … … … … … … to the eminently more useful and less spammy: Getting image source signatures Copying blob sha256:[snip] Copying blob sha256:[snip] Copying blob sha256:[snip] Copying config sha256:[snip] Writing manifest to image destination Storing signatures
* Merge pull request #125223 from hercules-ci/fix-dockerTools-example-fetch-shaRobert Hensing2021-06-10
|\ | | | | nixosTests.docker-tools: Fix nixFromDockerHub example sha
| * nixosTests.docker-tools: Fix nixFromDockerHub example shaRobert Hensing2021-06-01
| | | | | | | | | | | | | | | | | | | | | | For https://github.com/NixOS/nixpkgs/pull/125211 I tried to test the fetcher with nix-build -A dockerTools.examples.nixFromDockerHub --option substitute false But it failed. I haven't figured out the cause, but the outputs match, so it's probably the hashing method (flat/recursive) that changed at some point. (The names did match.)
* | Merge pull request #125216 from hercules-ci/follow-up-115491Robert Hensing2021-06-02
|\ \ | |/ |/| dockerTools: Fix passthru image tag
| * dockerTools: Fix passthru image tagRobert Hensing2021-06-01
| | | | | | | | | | | | It should match the actual image tag. This fixes the problem introduced in 00996b5e03f33bebafc2b17c41a175d3726a9bde https://github.com/NixOS/nixpkgs/pull/115491#pullrequestreview-672789901
* | Merge pull request #125211 from edwtjo/docker-fetch-wotlsRobert Hensing2021-06-01
|\ \ | |/ |/| build-support/docker: pass tlsVerify to support http registries
| * build-support/docker: pass tlsVerify to support http registriesEdward Tjörnhammar2021-06-01
| |
* | dockerTools: Allow omitting all store pathsRobert Hensing2021-05-26
| | | | | | | | | | | | | | Adds includeStorePaths, allowing the omission of the store paths. You generally want to leave it on, but tooling may disable this to insert the store paths more efficiently via other means, such as bind mounting the host store.
* | dockerTools: FormatRobert Hensing2021-05-26
|/
* Merge pull request #118018 from considerate/masterRobert Hensing2021-04-16
|\ | | | | dockerTools: Implement merging of image tarballs
| * dockerTools: add merged example imagesViktor Kronvall2021-04-08
| |
| * dockerTools: preserve order of images in manifestViktor Kronvall2021-04-07
| |
| * dockerTools: take a list of images in mergeImagesViktor Kronvall2021-04-07
| |
| * dockerTools: Implement merging of image tarballsViktor Kronvall2021-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | The `docker load` command supports loading tarballs that contain multiple docker images with their respective image names and tags. This enables distributing these images as a single file which simplifies the release of software when an application requires multiple services to run. However, pkgs.dockerTools only create tarballs with a single docker image and there exists is no mechanism in nixpkgs to combine the created tarballs. This commit implements merging of tarballs in a way that is compatible with `docker load`.
* | Merge pull request #102725 from thefloweringash/dockertools-procJörg Thalheim2021-04-12
|\ \ | |/ |/| dockerTools: fix absent /proc during runAsRoot
| * dockerTools: fix absent /proc during runAsRootAndrew Childs2020-11-04
| | | | | | | | | | | | The chroot environment under mnt had /dev and /sys via bind mounts, but nothing setting up /proc. The `--mount-proc` argument to unshare defaults to /proc, which is outside of the chroot envirnoment.
* | Merge pull request #116749 from vroad/docker-layered-image-fakerootRobert Hensing2021-04-07
|\ \ | | | | | | dockerTools.streamLayeredImage: add fakeRootCommands option
| * | dockerTools.streamLayeredImage: Add test for fakeRootCommandsvroad2021-04-07
| | |
| * | dockerTools.streamLayeredImage: source $stdenv/setup before running ↵vroad2021-03-19
| | | | | | | | | | | | fakeRootCommands
| * | dockerTools.streamLayeredImage: simplify inherit statementsvroad2021-03-19
| | | | | | | | | Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
| * | dockerTools.streamLayeredImage: add fakeRootCommands optionvroad2021-03-19
| | |
* | | dockerTools.streamLayeredImage: resolve duplicate env varsLouis Blin2021-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For images running on Kubernetes, there is no guarantee on how duplicate environment variables in the image config will be handled. This seems to be different from Docker, where the last environment variable value is consistently selected. The current code for `streamLayeredImage` was exploiting that assumption to easily propagate environment variables from the base image, leaving duplicates unchecked. It should rather resolve these duplicates to ensure consistent behavior on Docker and Kubernetes.
* | | dockerTools.buildLayeredImage: support fromImageLouis Blin2021-03-23
|/ / | | | | | | | | | | | | | | | | | | It is now possible to pass a `fromImage` to `buildLayeredImage` and `streamLayeredImage`, similar to what `buildImage` currently supports. This will prepend the layers of the given base image to the resulting image, while ensuring that at most `maxLayers` are used. It will also ensure that environment variables from the base image are propagated to the final image.
* | Merge pull request #115793 from ↵Benjamin Hipple2021-03-11
|\ \ | | | | | | | | | | | | lbpdt/feature/docker-tools-layered-image-name-slashes dockerTools.buildLayeredImage: image names with registry/ prefix
| * | dockerTools.buildLayeredImage: image names with registry/ prefixLouis Blin2021-03-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using `buildLayeredImage`, it is not possible to specify an image name of the form `<registry>/my/image`, although it is a valid name. This is due to derivations under `buildLayeredImage` using that image name as their derivation name, but slashes are not permitted in that context. A while ago, #13099 fixed that exact same problem in `buildImage` by using `baseNameOf name` in derivation names instead of `name`. This change does the same thing for `buildLayeredImage`.
* | | dockerTools.buildLayeredImage: configurable store rootLouis Blin2021-03-10
|/ / | | | | | | | | | | | | | | | | | | | | `stream_layered_image.py` currently assumes that the store root will be at `/nix/store`, although the user might have configured this differently. This makes `buildLayeredImage` unusable with stores having a different root, as they will fail an assertion in the python script. This change updates that assertion to use `builtins.storeDir` as the source of truth about where the store lives, instead of assuming `/nix/store`.
* | dockerTools: Do not lowercase image tag in buildImageChris Roberts2021-03-09
| | | | | | | | Closes #115455
* | Merge pull request #115083 from osener/fix-dockertools-on-darwinRobert Hensing2021-03-04
|\ \ | | | | | | dockerTools: fix build on Darwin
| * | dockerTools: fix build on DarwinOzan Sener2021-03-04
| | | | | | | | | | | | | | | | | | Fixes #110665 Introduced by #109420
* | | treewide: remove stdenv where not neededBen Siraphob2021-03-04
|/ /
* | dockertools: sort tar-members by name for reproducibilityJohan Thomsen2021-02-18
| |
* | treewide: stdenv.lib -> libPavol Rusnak2021-01-24
| |
* | dockerTools: typoRobert Hensing2021-01-15
| | | | | | | | Italian.
* | dockerTools: fix build (#109420)Milan2021-01-15
| |