本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
dotenvx 是由 dotenv 创建者开发的安全环境变量管理工具,提供跨平台运行能力、多环境配置支持和环境变量加密功能。它解决了传统环境变量管理中的安全性和灵活性问题,可无缝集成到各种编程语言、框架和部署流程中。
.env 文件(如 .env、.env.production)轻松切换开发、测试、生产等环境。npm install @dotenvx/dotenvx --save
curl -sfS [***] | sh dotenvx help
brew install dotenvx/brew/dotenvx dotenvx help
docker run -it --rm -v $(pwd):/app dotenv/dotenvx help
curl -L -o dotenvx.tar.gz "[***] -s)-$(uname -m).tar.gz" tar -xzf dotenvx.tar.gz ./dotenvx help
winget install dotenvx dotenvx help
创建 .env 文件:
echo "HELLO=World" > .env
创建示例脚本(以 Node.js 为例):
// index.js console.log(`Hello ${process.env.HELLO}`);
不使用 dotenvx 运行(环境变量未加载):
node index.js # 输出: Hello undefined
使用 dotenvx 运行(环境变量已加载):
dotenvx run -- node index.js # 输出: Hello World
通过 -f 参数指定环境文件,实现多环境切换:
# 创建生产环境文件 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
echo "HELLO=local" > .env.local echo "HELLO=World" > .env # 按顺序加载多个文件,前面文件的变量优先 dotenvx run -f .env.local -f .env -- node index.js # 输出: Hello local
# 后面文件的变量覆盖前面文件 dotenvx run -f .env.local -f .env --overload -- node index.js # 输出: Hello World
支持 Next.js 或 dotenv-flow 的环境加载约定:
# 按 Next.js 约定加载环境文件 dotenvx run --convention=nextjs -- node index.js
使用 dotenvx encrypt 命令加密环境文件,保护敏感信息:
创建并加密环境文件:
echo "HELLO=Secret" > .env dotenvx encrypt # 生成加密的 .env 文件和密钥对
运行时自动解密:
dotenvx run -- node index.js # 输出: Hello Secret
# 加密生产环境文件 dotenvx encrypt -f .env.production # 使用生产环境私钥运行 DOTENV_PRIVATE_KEY_PRODUCTION="<私钥>" dotenvx run -- node index.js
# 为多个环境文件设置私钥 DOTENV_PRIVATE_KEY="<.env私钥>" DOTENV_PRIVATE_KEY_PRODUCTION="<.env.production私钥>" dotenvx run -- node index.js
# .env USERNAME="admin" DATABASE_URL="postgres://${USERNAME}@localhost/mydb"
dotenvx run -- node -e "console.log(process.env.DATABASE_URL)" # 输出: postgres://admin@localhost/mydb
# .env NODE_ENV=production DB_HOST=${DB_HOST:-localhost} # 未设置则使用默认值 DEBUG=${NODE_ENV:+false} # 设置则使用备选值
# .env CURRENT_USER="$(whoami)" # 嵌入命令输出
dotenvx run -- node -e "console.log(process.env.CURRENT_USER)" # 输出: 当前系统用户名
# 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
echo "HELLO=World" > .env echo 'import os; print(f"Hello {os.getenv("HELLO")}")' > index.py dotenvx run -- python3 index.py # 输出: Hello World
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 dotenvx run -- next dev # Ruby on Rails dotenvx run -- bin/rails s
docker run -it --rm -v $(pwd):/app dotenv/dotenvx run -- node index.js
FROM node:latest WORKDIR /app COPY . . RUN curl -fsS [***] | sh RUN npm install CMD ["dotenvx", "run", "--", "node", "index.js"]
构建并运行:
docker build -t my-app . docker run -it --rm my-app
deno run 使用 npm 模块,推荐安装二进制 CLI。--overload 可让后续文件覆盖。更多详细文档请访问 dotenvx 官方文档。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429