Code Monkey home page Code Monkey logo

docker-nixpkgs's Introduction

docker-nixpkgs: docker images from nixpkgs

This project is a collection of docker images automatically produced with Nix and the latest nixpkgs package set. All the images are refreshed daily with the latest versions of nixpkgs.

It's also a good demonstration on how to build and publish Docker images with Nix.

Always keep your docker images fresh!

Why use Nix to build docker images?

Nix has a number of advantages over Dockerfile when producing docker images:

  • builds are more likely to be repeatable and binary reproducible
  • Nix will only rebuild the minimum set of changes with no manual intervention
  • Nix produces optimised layers with no manual intervention
  • nixpkgs provides automatic security updates

Example usage

Here is an example of using one of the docker images. Usage will change from image to image.

# run the curl image which has curl as an entry-point
$ docker run -ti --rm nixpkgs/curl curl http://ifconfig.co
180.52.248.114

Channels

Each image is built with the following nixpkgs channels and map to the following image tag.

The version of the packages included in each image depends on what version the nixpkgs channel describes.

Channel Image Tag Description
nixos-23.05 nixos-23.05 only minor versions that include security updates
nixos-23.11 nixos-23.11 only minor versions that include security updates
nixos-unstable latest latest and greatest, major versions might change

List of images

Here is the current list of images that are provided. Missing one? Send an image request.

All images are automatically built and published to Docker Hub, and served on our custom domain, courtesy of Scarf.

> ./readme-image-matrix

Image / Tag Pull
nixpkgs/bash docker pull docker.nix-community.org/nixpkgs/bash
nixpkgs/busybox docker pull docker.nix-community.org/nixpkgs/busybox
nixpkgs/cachix docker pull docker.nix-community.org/nixpkgs/cachix
nixpkgs/cachix-flakes docker pull docker.nix-community.org/nixpkgs/cachix-flakes
nixpkgs/caddy docker pull docker.nix-community.org/nixpkgs/caddy
nixpkgs/curl docker pull docker.nix-community.org/nixpkgs/curl
nixpkgs/devcontainer docker pull docker.nix-community.org/nixpkgs/devcontainer
nixpkgs/docker-compose docker pull docker.nix-community.org/nixpkgs/docker-compose
nixpkgs/hugo docker pull docker.nix-community.org/nixpkgs/hugo
nixpkgs/kubectl docker pull docker.nix-community.org/nixpkgs/kubectl
nixpkgs/kubernetes-helm docker pull docker.nix-community.org/nixpkgs/kubernetes-helm
nixpkgs/nginx docker pull docker.nix-community.org/nixpkgs/nginx
nixpkgs/nix docker pull docker.nix-community.org/nixpkgs/nix
nixpkgs/nix-flakes docker pull docker.nix-community.org/nixpkgs/nix-flakes
nixpkgs/nix-unstable docker pull docker.nix-community.org/nixpkgs/nix-unstable
nixpkgs/nix-unstable-static docker pull docker.nix-community.org/nixpkgs/nix-unstable-static

Adding new images

To add a new image to the project, create a new folder under ./images/<image-name> with a default.nix that returns the docker image.

Then run nix-build -A <image-name> to test that it builds, and then use docker load -i /nix/store/...<image-name>.tar.gz to load and test the image.

User Feedback

Issues

If you have any problems with or questions about this project, please contact us through a GitHub issue

Image request

Submit a request with an accompanying use-case for an image that you would like to see.

Contributing

You are invited to contribute new features, fixes or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Related projects

  • The docker-library is an image set maintained by the Docker Inc. team and contain officially-supported images.

  • Nixery is a pretty cool service that builds docker images from nixpkgs attributes on the fly.

License

Copyright (c) 2021 @zimbatm and contributors.

Licensed under the MIT.

docker-nixpkgs's People

Contributors

zimbatm avatar dependabot[bot] avatar mic92 avatar scrumplex avatar silverraven691 avatar maydayv7 avatar rizary avatar fpletz avatar jayrovacsek avatar nasadorian avatar das-g avatar bionicles avatar erikarvstedt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.