基于 scratch 基础镜像创建 docker image
·
复杂例子见 生产容器
步骤 1:创建两个文件
1. 创建 hello.c 文件:
cat > hello.c << 'EOF'
#include <stdio.h>
int main() {
printf("Hello from my tiny Docker image!\n");
return 0;
}
EOF
2. 创建 Dockerfile 文件:
cat > Dockerfile << 'EOF'
FROM scratch
COPY hello /hello
CMD ["/hello"]
EOF
步骤 2:编译静态二进制文件(只需一条命令)
# 使用 musl 进行静态编译(没有 musl 就用 gcc)
gcc -static -o hello hello.c 2>/dev/null || \
docker run --rm -v $(pwd):/src alpine sh -c "apk add build-base && cd /src && gcc -static -o hello hello.c"
步骤 3:构建和运行镜像
# 构建镜像
docker build -t my-hello .
# 运行镜像
docker run --rm my-hello
# 查看镜像大小(约 10KB)
docker images my-hello
更多推荐



所有评论(0)