at 18.09-beta 2.5 kB view raw
1# this test creates a simple GNU image with docker tools and sees if it executes 2 3import ./make-test.nix ({ pkgs, ... }: { 4 name = "docker-tools"; 5 meta = with pkgs.stdenv.lib.maintainers; { 6 maintainers = [ lnl7 ]; 7 }; 8 9 nodes = { 10 docker = 11 { ... }: { 12 virtualisation = { 13 diskSize = 2048; 14 docker.enable = true; 15 }; 16 }; 17 }; 18 19 testScript = 20 '' 21 $docker->waitForUnit("sockets.target"); 22 23 $docker->succeed("docker load --input='${pkgs.dockerTools.examples.bash}'"); 24 $docker->succeed("docker run --rm ${pkgs.dockerTools.examples.bash.imageName} bash --version"); 25 $docker->succeed("docker rmi ${pkgs.dockerTools.examples.bash.imageName}"); 26 27 # Check if the nix store is correctly initialized by listing dependencies of the installed Nix binary 28 $docker->succeed("docker load --input='${pkgs.dockerTools.examples.nix}'"); 29 $docker->succeed("docker run --rm ${pkgs.dockerTools.examples.nix.imageName} nix-store -qR ${pkgs.nix}"); 30 $docker->succeed("docker rmi ${pkgs.dockerTools.examples.nix.imageName}"); 31 32 # To test the pullImage tool 33 $docker->succeed("docker load --input='${pkgs.dockerTools.examples.nixFromDockerHub}'"); 34 $docker->succeed("docker run --rm nixos/nix:1.11 nix-store --version"); 35 $docker->succeed("docker rmi nixos/nix:1.11"); 36 37 # To test runAsRoot and entry point 38 $docker->succeed("docker load --input='${pkgs.dockerTools.examples.nginx}'"); 39 $docker->succeed("docker run --name nginx -d -p 8000:80 ${pkgs.dockerTools.examples.nginx.imageName}"); 40 $docker->waitUntilSucceeds('curl http://localhost:8000/'); 41 $docker->succeed("docker rm --force nginx"); 42 $docker->succeed("docker rmi '${pkgs.dockerTools.examples.nginx.imageName}'"); 43 44 # An pulled image can be used as base image 45 $docker->succeed("docker load --input='${pkgs.dockerTools.examples.onTopOfPulledImage}'"); 46 $docker->succeed("docker run --rm ontopofpulledimage hello"); 47 $docker->succeed("docker rmi ontopofpulledimage"); 48 49 # Regression test for issue #34779 50 $docker->succeed("docker load --input='${pkgs.dockerTools.examples.runAsRootExtraCommands}'"); 51 $docker->succeed("docker run --rm runasrootextracommands cat extraCommands"); 52 $docker->succeed("docker run --rm runasrootextracommands cat runAsRoot"); 53 $docker->succeed("docker rmi '${pkgs.dockerTools.examples.runAsRootExtraCommands.imageName}'"); 54 ''; 55})