复杂例子见 生产容器

步骤 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

更多推荐