docker-nixpkgs:来自nixpkgs的docker镜像
这个项目是使用Nix和最新的nixpkgs包集自动生成的docker镜像集合。所有镜像每天都会使用nixpkgs的最新版本进行更新。
这也是一个很好的示例,展示了如何使用Nix构建和发布Docker镜像。
始终保持你的docker镜像最新鲜!
为什么使用Nix构建docker镜像?
与Dockerfile相比,Nix在生成docker镜像时有许多优势:
- 构建更可能是可重复和二进制可复现的
- Nix无需手动干预即可重建最小的变更集
- Nix无需手动干预即可生成优化的层
- nixpkgs提供自动安全更新
使用示例
以下是使用其中一个docker镜像的示例。不同镜像的用法可能有所不同。
# 运行curl镜像,将curl作为入口点
$ docker run -ti --rm nixpkgs/curl curl http://ifconfig.co
180.52.248.114
通道
每个镜像都使用以下nixpkgs通道构建,并映射到以下镜像标签。
每个镜像中包含的包版本取决于nixpkgs通道描述的版本。
通道 | 镜像标签 | 描述 |
---|---|---|
nixos-24.05 | nixos-24.05 | 仅包含安全更新的小版本 |
nixos-unstable | latest | 最新和最棒的,可能会更改主要版本 |
镜像列表
以下是当前提供的镜像列表。缺少某个镜像?发送一个镜像请求。
所有镜像都自动构建并发布到Docker Hub,并通过我们的自定义域名提供服务,由Scarf提供支持。
> ./readme-image-matrix
镜像 / 标签 | 拉取 |
---|---|
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/devenv | docker pull docker.nix-community.org/nixpkgs/devenv |
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 |
添加新镜像
要向项目添加新镜像,请在./images/<镜像名称>
下创建一个新文件夹,其中包含一个返回docker镜像的default.nix。
然后运行nix-build -A <镜像名称>
来测试是否能够构建,
然后使用
docker load -i /nix/store/...<镜像名称>.tar.gz
来加载和测试镜像。
用户反馈
问题
如果你对这个项目有任何问题或疑问,请通过GitHub issue联系我们。
镜像请求
提交请求 并附上你想要看到的镜像的用例。
贡献
我们欢迎你贡献新功能、修复或更新,无论大小; 我们总是很高兴收到拉取请求,并尽最大努力尽快处理它们。
相关项目
-
docker-library 是由Docker Inc.团队维护的镜像集,包含官方支持的镜像。
-
Nixery是一个非常酷的服务,可以即时从nixpkgs属性构建docker镜像。
许可证
版权所有 (c) 2021 @zimbatm 和贡献者。
基于MIT许可证授权。