通过 Docker openssl 容器生成生成Nginx证书文件

使用 alpine/openssl 镜像生成证书

1. 拉取容器

shell 复制代码
[root@localhost ~]# docker run --rm alpine/openssl version
OpenSSL 3.3.3 11 Feb 2025 (Library: OpenSSL 3.3.3 11 Feb 2025)

2. 运行 alpine/openssl 生成证书(Nginx)

shell 复制代码
# 生成1个.key私钥文件,1个.crt的证书文件,存放在当前路径
[root@localhost ~]# docker run --rm -v $(pwd):/certs alpine/openssl req -x509 -newkey rsa:4096 -keyout /certs/server.key -out /certs/server.crt -days 365 -nodes -subj "/CN=vw.land.com"

解释命令:
docker run --rm: 运行一个容器并在完成后自动删除它。

-v $(pwd):/certs: 将当前目录挂载到容器内的 /certs 目录。

alpine/openssl: 使用的镜像。

req -x509: 生成自签名证书。

-newkey rsa:4096: 生成一个新的 RSA 4096 位的私钥。

-keyout /certs/key.pem: 指定私钥的输出路径。

-out /certs/cert.pem: 指定证书的输出路径。

-days 365: 设置证书的有效期为 365 天。

-nodes: 不加密私钥。

-subj "/CN=vw.land.com": 设置证书的主题(Common Name 为 vw.land.com)。

3. 查看证书

shell 复制代码
[root@localhost ~]# ll
-rw-r--r--. 1 root root 1814  3月  6 16:27 cert.pem
-rw-------. 1 root root 3272  3月  6 16:27 key.pem
相关推荐
努力买辣条43 分钟前
基于 Docker 的高可用 WordPress 集群部署:分布式 Nginx + Keepalived、MySQL 主从复制与 ProxySQL 读写分离
分布式·nginx·docker
程序员 _孜然3 小时前
Ubuntu/Debian修改网卡名字enP3p49s0为eth0
linux·运维·驱动开发·嵌入式硬件·ubuntu·debian
IDIOT___IDIOT3 小时前
Linux mount 命令
linux·运维·服务器
暗流者3 小时前
AAA 服务器与 RADIUS 协议笔记
运维·服务器·笔记
锐策3 小时前
Git checkout 与 Git reset 核心区别解析(分支与版本关联逻辑)
运维·git
CTRA王大大4 小时前
【golang】制作linux环境+golang的Dockerfile | 如何下载golang镜像源
linux·开发语言·docker·golang
小张程序人生4 小时前
《VMware 安装 CentOS 7.9 虚拟机详细教程(含图解步骤)》
linux·centos
泡沫冰@6 小时前
管理 SELinux 安全性
linux
展信佳_daydayup8 小时前
03 基础篇-润和开发板连接过程
linux·开源·嵌入式
两张不够花8 小时前
Shell脚本源码安装Redis、MySQL、Mongodb、PostgreSQL(无报错版)
linux·数据库·redis·mysql·mongodb·postgresql·云计算