开源推荐
morning
GitHub 热门项目:dockerc
摘要
GitHub项目:dockerc 仓库地址:https://github。
docker
dockerc
the
https
com
2026-05-23
1 阅读
GitHub Trending
GitHub 项目:dockerc
仓库地址:https://github.com/NilsIrl/dockerc
星级:4902 | 作者:尼尔斯·艾尔
项目描述:容器镜像到单个可执行编译器
===================================================
自述文件内容:
# dockerc - 将 docker 镜像编译为独立的可移植二进制文件
不再有 [][4]
不再有“docker run”,不再有“pip install”,不再有“npm i”,只需为用户提供他们可以运行的可执行文件即可!
## 用法
从[最新版本](https://github.com/NilsIrl/dockerc/releases)安装 dockerc。
````
# 来自 docker hub 的图像
$ dockerc --image docker://oven/bun --输出bun
# 本地 docker 守护进程存储中的镜像
$ dockerc --image docker-daemon:mysherlock-image:latest --output sherlock_bin
# 指定目标指令集架构
$ dockerc --image docker://hello-world --arch arm64 --输出 hello
````
然后可以像使用通常的二进制文件一样调用输出二进制文件。你可以
还以与使用“docker run”时相同的方式指定“-e”和“-v”。
容器内运行的网络服务可以直接访问,无需
必须指定“-p”。
Skopeo 用于加载图像,其他位置请参考[其文档][1]。
## 从源代码构建
请注意,该项目使用 Git 子模块。如果您克隆此存储库,您可能需要运行以下命令来初始化和更新子模块:
````
$ git 子模块初始化
$ git 子模块更新
````
这将确保您下载并更新所有相关的子模块内容。
dockerc 使用 Zig 编译器的修补版本,可以在
NilsIrl/zig 存储库的 [nils-dockerc-version 分支][5]。有一个
[open PR][6] 以便将补丁包含在上游 zig 中。
要编译 dockerc,请使用以下命令:
````
$ zig build -Doptimize=ReleaseSafe -Dtarget=x86_64-linux-musl
$ zig build -Doptimize=ReleaseSafe -Dtarget=aarch64-linux-musl
````
## 特点
- [X] 将 docker 镜像编译成可移植的二进制文件
- [X] 无根容器
- [ ] MacOS 和 Windows 支持(使用 QEMU)
- [X] x86_64 支持
- [X]arm64支持
- [X] 支持参数
- [X] [支持使用`-e`指定环境变量][2]
- [X] [支持使用 `-v` 指定卷][3]
- [ ] 支持其他[参数][0]...
[0]:https://docs.docker.com/engine/reference/commandline/container_run/
[1]:https://github.com/containers/skopeo/blob/main/docs/skopeo.1.md#image-names
[2]:https://docs.docker.com/reference/cli/docker/container/run/#env
[3]:https://docs.docker.com/reference/cli/docker/container/run/#volume
[4]:https://www.reddit.com/r/github/comments/1at9br4/i_am_new_to_github_and_i_have_lots_to_say/
[5]:https://github.com/NilsIrl/zig/tree/nils-dockerc-version
[6]:https://github.com/ziglang/zig/pull/21092