
kubler/opensslkubler/openssl 是一个轻量级 Docker 镜像,集成了 OpenSSL 工具和 Busybox 基础环境,镜像大小约为 17MB。该镜像旨在提供一个最小化的安全工具环境,用于执行各种加密操作、证书管理和安全测试任务,无需在主机系统上安装完整的 OpenSSL 环境。
使用以下命令启动镜像并进入交互式 shell:
bashdocker run -it --rm kubler/openssl sh
bashdocker run --rm kubler/openssl openssl req -new -newkey rsa:2048 -nodes \ -keyout server.key -out server.csr -subj "/C=US/ST=State/L=City/O=Organization/CN=example.com" docker run --rm kubler/openssl openssl x509 -req -days 365 -in server.csr \ -signkey server.key -out server.crt
bash# 计算本地文件的 SHA256 哈希 docker run --rm -v $(pwd):/data kubler/openssl openssl dgst -sha256 /data/file.txt # 计算字符串的 MD5 哈希 echo "test" | docker run -i --rm kubler/openssl openssl dgst -md5
bashdocker run --rm kubler/openssl openssl rand -base64 32
bashdocker run --rm -v $(pwd):/certs kubler/openssl sh -c " \ openssl genrsa -out /certs/server.key 2048 && \ openssl req -new -key /certs/server.key -out /certs/server.csr -subj \"/C=US/ST=State/L=City/O=Org/CN=example.com\" && \ openssl x509 -req -days 365 -in /certs/server.csr -signkey /certs/server.key -out /certs/server.crt"
为了使生成的文件在容器退出后仍然保留,可以挂载主机目录到容器中:
bash# 将当前目录挂载到容器的 /work 目录 docker run -it --rm -v $(pwd):/work kubler/openssl sh
可以在 shell 脚本中直接使用该镜像执行特定命令:
bash#!/bin/bash # 生成 2048 位 RSA 密钥并保存到当前目录 docker run --rm -v $(pwd):/output kubler/openssl openssl genrsa -out /output/private.key 2048
在 docker-compose.yml 中使用该镜像生成证书:
yamlversion: '3' services: generate-cert: image: kubler/openssl volumes: - ./certs:/certs command: > sh -c "openssl req -new -newkey rsa:2048 -nodes -keyout /certs/server.key -out /certs/server.csr -subj "/C=US/ST=State/L=City/O=Organization/CN=example.com" && openssl x509 -req -days 365 -in /certs/server.csr -signkey /certs/server.key -out /certs/server.crt"
运行以下命令生成证书:
bashdocker-compose run generate-cert

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务