本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

dotenvx Docker 镜像下载 - 轩辕镜像

dotenvx 镜像详细信息和使用指南

dotenvx 镜像标签列表和版本信息

dotenvx 镜像拉取命令和加速下载

dotenvx 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

dotenvx
dotenv/dotenvx

dotenvx 镜像详细信息

dotenvx 镜像标签列表

dotenvx 镜像使用说明

dotenvx 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

由dotenv创建者开发的安全环境变量管理工具,支持跨平台运行、多环境配置和加密环境变量,适用于各种编程语言、框架及部署场景。
1 收藏0 次下载activedotenv

dotenvx 镜像详细说明

dotenvx 使用指南

dotenvx 配置说明

dotenvx 官方文档

dotenvx - 安全的环境变量管理工具

概述

dotenvx 是由 dotenv 创建者开发的安全环境变量管理工具,提供跨平台运行能力、多环境配置支持和环境变量加密功能。它解决了传统环境变量管理中的安全性和灵活性问题,可无缝集成到各种编程语言、框架和部署流程中。

核心功能与特性

  • 跨平台运行:支持 Windows、macOS、Linux 等操作系统,兼容各种终端和脚本环境。
  • 多环境管理:通过不同 .env 文件(如 .env.env.production)轻松切换开发、测试、生产等环境。
  • 加密保护:使用 secp256k1 椭圆曲线加密算法保护敏感环境变量,防止泄露。
  • 变量扩展与替换:支持环境变量引用、默认值设置、命令输出嵌入等高级功能。
  • 多语言兼容:适配 Node.js、Python、Java、Go、Ruby 等几乎所有主流编程语言。
  • 框架集成:支持 Next.js、Rails、Django、Laravel 等常见开发框架。

使用场景与适用范围

  • 本地开发:安全管理开发环境变量,避免硬编码敏感信息。
  • 多环境部署:通过不同环境文件快速切换配置,简化部署流程。
  • CI/CD 流程:在 GitHub Actions、GitLab CI 等持续集成环境中安全注入环境变量。
  • 容器化部署:与 Docker、Kubernetes 等容器技术结合,管理容器环境变量。
  • 服务器运维:在 cron 任务、系统服务中安全使用环境变量。

安装方法

npm 安装

bash
npm install @dotenvx/dotenvx --save

全局安装(支持任意语言/框架)

通过 curl 安装 🌐
bash
curl -sfS [***] | sh
dotenvx help
通过 brew 安装 🍺
bash
brew install dotenvx/brew/dotenvx
dotenvx help
通过 Docker 运行 🐳
bash
docker run -it --rm -v $(pwd):/app dotenv/dotenvx help
通过 GitHub Releases 安装 🐙
bash
curl -L -o dotenvx.tar.gz "[***] -s)-$(uname -m).tar.gz"
tar -xzf dotenvx.tar.gz
./dotenvx help
Windows 安装 🪟
bash
winget install dotenvx
dotenvx help

使用指南

基本使用

  1. 创建 .env 文件:

    bash
    echo "HELLO=World" > .env
    
  2. 创建示例脚本(以 Node.js 为例):

    js
    // index.js
    console.log(`Hello ${process.env.HELLO}`);
    
  3. 不使用 dotenvx 运行(环境变量未加载):

    bash
    node index.js  # 输出: Hello undefined
    
  4. 使用 dotenvx 运行(环境变量已加载):

    bash
    dotenvx run -- node index.js  # 输出: Hello World
    

多环境配置

通过 -f 参数指定环境文件,实现多环境切换:

bash
# 创建生产环境文件
echo "HELLO=Production" > .env.production

# 加载生产环境变量运行
dotenvx run -f .env.production -- node index.js
# 输出: [dotenvx@1.X.X] injecting env (1) from .env.production
#       Hello Production

高级多环境特性

多文件组合加载
bash
echo "HELLO=local" > .env.local
echo "HELLO=World" > .env

# 按顺序加载多个文件,前面文件的变量优先
dotenvx run -f .env.local -f .env -- node index.js
# 输出: Hello local
变量覆盖(--overload 标志)
bash
# 后面文件的变量覆盖前面文件
dotenvx run -f .env.local -f .env --overload -- node index.js
# 输出: Hello World
框架约定加载(--convention 标志)

支持 Next.js 或 dotenv-flow 的环境加载约定:

bash
# 按 Next.js 约定加载环境文件
dotenvx run --convention=nextjs -- node index.js

环境变量加密

使用 dotenvx encrypt 命令加密环境文件,保护敏感信息:

  1. 创建并加密环境文件:

    bash
    echo "HELLO=Secret" > .env
    dotenvx encrypt  # 生成加密的 .env 文件和密钥对
    
  2. 运行时自动解密:

    bash
    dotenvx run -- node index.js  # 输出: Hello Secret
    

加密高级用法

指定环境文件加密
bash
# 加密生产环境文件
dotenvx encrypt -f .env.production

# 使用生产环境私钥运行
DOTENV_PRIVATE_KEY_PRODUCTION="<私钥>" dotenvx run -- node index.js
多加密文件组合
bash
# 为多个环境文件设置私钥
DOTENV_PRIVATE_KEY="<.env私钥>" DOTENV_PRIVATE_KEY_PRODUCTION="<.env.production私钥>" dotenvx run -- node index.js

高级功能

变量扩展与替换

变量引用
ini
# .env
USERNAME="admin"
DATABASE_URL="postgres://${USERNAME}@localhost/mydb"
bash
dotenvx run -- node -e "console.log(process.env.DATABASE_URL)"
# 输出: postgres://admin@localhost/mydb
默认值与备选值
ini
# .env
NODE_ENV=production
DB_HOST=${DB_HOST:-localhost}  # 未设置则使用默认值
DEBUG=${NODE_ENV:+false}       # 设置则使用备选值
命令输出嵌入
ini
# .env
CURRENT_USER="$(whoami)"  # 嵌入命令输出
bash
dotenvx run -- node -e "console.log(process.env.CURRENT_USER)"
# 输出: 当前系统用户名

多语言与框架示例

Node.js/TypeScript
bash
# TypeScript 示例
npm install tsx --save-dev
echo "HELLO=World" > .env
echo 'console.log(`Hello ${process.env.HELLO}`)' > index.ts
dotenvx run -- npx tsx index.ts  # 输出: Hello World
Python
bash
echo "HELLO=World" > .env
echo 'import os; print(f"Hello {os.getenv("HELLO")}")' > index.py
dotenvx run -- python3 index.py  # 输出: Hello World
Java
bash
echo "HELLO=World" > .env
echo 'public class Main { public static void main(String[] args) { System.out.println("Hello " + System.getenv("HELLO")); } }' > Main.java
javac Main.java
dotenvx run -- java Main  # 输出: Hello World
框架示例(Next.js/Rails)
bash
# Next.js
dotenvx run -- next dev

# Ruby on Rails
dotenvx run -- bin/rails s

Docker 部署示例

直接运行

bash
docker run -it --rm -v $(pwd):/app dotenv/dotenvx run -- node index.js

Dockerfile 集成

dockerfile
FROM node:latest
WORKDIR /app
COPY . .
RUN curl -fsS [***] | sh
RUN npm install
CMD ["dotenvx", "run", "--", "node", "index.js"]

构建并运行:

bash
docker build -t my-app .
docker run -it --rm my-app

注意事项

  • Deno 兼容性:不建议直接通过 deno run 使用 npm 模块,推荐安装二进制 CLI。
  • 密钥管理:加密私钥需妥善保管,生产环境建议通过环境变量或密钥管理服务注入。
  • 环境变量优先级:默认情况下,较早加载的文件变量优先,使用 --overload 可让后续文件覆盖。

更多详细文档请访问 dotenvx ***文档。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"