
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
dotenvx 是由 dotenv 创建者开发的安全环境变量管理工具,提供跨平台运行能力、多环境配置支持和环境变量加密功能。它解决了传统环境变量管理中的安全性和灵活性问题,可无缝集成到各种编程语言、框架和部署流程中。
.env 文件(如 .env、.env.production)轻松切换开发、测试、生产等环境。bashnpm install @dotenvx/dotenvx --save
bashcurl -sfS https://dotenvx.sh | sh dotenvx help
bashbrew install dotenvx/brew/dotenvx dotenvx help
bashdocker run -it --rm -v $(pwd):/app dotenv/dotenvx help
bashcurl -L -o dotenvx.tar.gz "https://github.com/dotenvx/dotenvx/releases/latest/download/dotenvx-$(uname -s)-$(uname -m).tar.gz" tar -xzf dotenvx.tar.gz ./dotenvx help
bashwinget install dotenvx dotenvx help
创建 .env 文件:
bashecho "HELLO=World" > .env
创建示例脚本(以 Node.js 为例):
js// index.js console.log(`Hello ${process.env.HELLO}`);
不使用 dotenvx 运行(环境变量未加载):
bashnode index.js # 输出: Hello undefined
使用 dotenvx 运行(环境变量已加载):
bashdotenvx 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
高级多环境特性
bashecho "HELLO=local" > .env.local echo "HELLO=World" > .env # 按顺序加载多个文件,前面文件的变量优先 dotenvx run -f .env.local -f .env -- node index.js # 输出: Hello local
bash# 后面文件的变量覆盖前面文件 dotenvx run -f .env.local -f .env --overload -- node index.js # 输出: Hello World
支持 Next.js 或 dotenv-flow 的环境加载约定:
bash# 按 Next.js 约定加载环境文件 dotenvx run --convention=nextjs -- node index.js
使用 dotenvx encrypt 命令加密环境文件,保护敏感信息:
创建并加密环境文件:
bashecho "HELLO=Secret" > .env dotenvx encrypt # 生成加密的 .env 文件和密钥对
运行时自动解密:
bashdotenvx 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"
bashdotenvx 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)" # 嵌入命令输出
bashdotenvx run -- node -e "console.log(process.env.CURRENT_USER)" # 输出: 当前系统用户名
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
bashecho "HELLO=World" > .env echo 'import os; print(f"Hello {os.getenv("HELLO")}")' > index.py dotenvx run -- python3 index.py # 输出: Hello World
bashecho "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
bash# Next.js dotenvx run -- next dev # Ruby on Rails dotenvx run -- bin/rails s
bashdocker run -it --rm -v $(pwd):/app dotenv/dotenvx run -- node index.js
dockerfileFROM node:latest WORKDIR /app COPY . . RUN curl -fsS https://dotenvx.sh/install.sh | sh RUN npm install CMD ["dotenvx", "run", "--", "node", "index.js"]
构建并运行:
bashdocker build -t my-app . docker run -it --rm my-app
deno run 使用 npm 模块,推荐安装二进制 CLI。--overload 可让后续文件覆盖。更多详细文档请访问 dotenvx 官方文档。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务