
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!https://github.com/nixys/nxs-data-anonymizer/assets/27485608/165a90a0-929f-460b-8dbd-2903c0d91f36
维护者:
Nixys LLC
获取帮助:
Nixys Support Bot、维护者*** 或 https://github.com/nixys/nxs-data-anonymizer/issues
提交issue:
https://github.com/nixys/nxs-data-anonymizer/issues
Dockerfile 链接nxs-data-anonymizer 是一款用于***化 PostgreSQL 和 MySQL/MariaDB/Percona 数据库转储的工具。
您可以直接从控制台使用该Docker镜像,或将其集成到CI/CD流程中。
您也可以将该工具作为二进制文件使用。详情参见 https://github.com/nixys/nxs-data-anonymizer#console%E3%80%82
使用前,您需要检查数据库结构并设置 nxs-data-anonymizer 配置,以匹配需要***化的敏感数据。
例如,若需实时将生产环境的PostgreSQL数据库***化到开发环境(需安装PostgreSQL客户端),可使用以下命令:
consoledocker run -it -v "/path/to/nxs-data-anonymizer.conf:/nxs-data-anonymizer.conf" nixyslab/nxs-data-anonymizer sh -c 'export PGPASSWORD=password; pg_dump -U postgres prod | /nxs-data-anonymizer -t pgsql -c /nxs-data-anonymizer.conf | psql -U postgres dev'
本节介绍如何将nxs-data-anonymizer集成到GitLab CI中。您可将以下任务添加到 .gitlab-ci.yml 并根据需求调整。
本节描述的任务将执行以下操作:
main 分支设置特定标签时运行production 数据库转储,***化后上传至S3存储桶任务示例:
yamlanonymize: stage: anonymize image: nixyslab/nxs-data-anonymizer:latest variables: GIT_STRATEGY: none PG_HOST: ${PG_HOST_PROD} PG_USER: ${PG_USER_PROD} PGPASSWORD: ${PG_PASS_PROD} before_script: - echo "${S3CMD_CFG}" > ~/.s3cmd - echo "${NXS_DA_CFG}" > /nxs-data-anonymizer.conf script: - pg_dump -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE} | /nxs-data-anonymizer -t pgsql -c /nxs-data-anonymizer.conf | gzip | s3cmd put - s3://bucket/anondump.sql.gz only: - /^v.*$/ except: - branches - merge_requests
本节描述的任务将执行以下操作:
stage 分支的手动任务stage 数据库任务示例:
yamlrestore-stage: stage: restore image: nixyslab/nxs-data-anonymizer:latest variables: GIT_STRATEGY: none PG_HOST: ${PG_HOST_STAGE} PG_USER: ${PG_USER_STAGE} PGPASSWORD: ${PG_PASS_STAGE} before_script: - echo "${S3CMD_CFG}" > ~/.s3cmd script: - s3cmd --no-progress --quiet get s3://bucket/anondump.sql.gz - | gunzip | psql -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE} only: - stage when: manual
本节描述上述GitLab CI任务示例中使用的变量。
通用变量
| 变量 | 描述 |
|---|---|
S3CMD_CFG | S3存储配置 |
PG_SCHEMA | PostgreSQL模式 |
PG_DATABASE | PostgreSQL数据库名称 |
生产环境变量
| 变量 | 描述 |
|---|---|
NXS_DA_CFG | nxs-data-anonymizer配置 |
PG_HOST_PROD | PostgreSQL主机 |
PG_USER_PROD | PostgreSQL用户 |
PG_PASS_PROD | PostgreSQL密码 |
测试环境变量
| 变量 | 描述 |
|---|---|
PG_HOST_STAGE | PostgreSQL主机 |
PG_USER_STAGE | PostgreSQL用户 |
PG_PASS_STAGE | PostgreSQL密码 |
本节介绍如何将nxs-data-anonymizer集成到GitHub Actions中。您可将以下任务添加到 .github 工作流并根据需求调整。
本节描述的任务可执行以下操作:
production 数据库转储,***化后上传至S3存储桶yamlon: push: tags: - v*.* jobs: anonymize: runs-on: ubuntu-latest container: image: nixyslab/nxs-data-anonymizer:latest env: PG_HOST: ${{ secrets.PG_HOST_PROD }} PG_USER: ${{ secrets.PG_USER_PROD }} PGPASSWORD: ${{ secrets.PG_PASS_PROD }} PG_SCHEMA: ${{ secrets.PG_SCHEMA }} PG_DATABASE: ${{ secrets.PG_DATABASE }} steps: - name: Create services configs run: | echo "${{ secrets.S3CMD_CFG }}" > ~/.s3cmd echo "${{ secrets.NXS_DA_CFG }}" > /nxs-data-anonymizer.conf - name: Anonymize run: | pg_dump -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE} | /nxs-data-anonymizer -t pgsql -c /nxs-data-anonymizer.conf | gzip | s3cmd put - s3://bucket/anondump.sql.gz
本节描述的任务将执行以下操作:
stage 数据库yamlon: workflow_dispatch jobs: restore-stage: runs-on: ubuntu-latest container: image: nixyslab/nxs-data-anonymizer:latest env: PG_HOST: ${{ secrets.PG_HOST_STAGE }} PG_USER: ${{ secrets.PG_USER_STAGE }} PGPASSWORD: ${{ secrets.PG_PASS_STAGE }} PG_SCHEMA: ${{ secrets.PG_SCHEMA }} PG_DATABASE: ${{ secrets.PG_DATABASE }} steps: - name: Create services configs run: | echo "${{ secrets.S3CMD_CFG }}" > ~/.s3cmd - name: Restore run: | s3cmd --no-progress --quiet get s3://bucket/anondump.sql.gz - | gunzip | psql -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE}
本节描述上述GitHub Actions任务示例中使用的密钥。
通用密钥
| 变量 | 描述 |
|---|---|
S3CMD_CFG | S3存储配置 |
PG_SCHEMA | PostgreSQL模式 |
PG_DATABASE | PostgreSQL数据库名称 |
生产环境密钥
| 变量 | 描述 |
|---|---|
NXS_DA_CFG | nxs-data-anonymizer配置 |
PG_HOST_PROD | PostgreSQL主机 |
PG_USER_PROD | PostgreSQL用户 |
PG_PASS_PROD | PostgreSQL密码 |
测试环境密钥
| 变量 | 描述 |
|---|---|
PG_HOST_STAGE | PostgreSQL主机 |
PG_USER_STAGE | PostgreSQL用户 |
PG_PASS_STAGE | PostgreSQL密码 |
https://github.com/nixys/nxs-data-anonymizer 是开源软件,基于 Apache License 2.0 许可发布。
与所有Docker镜像一样,此镜像可能包含其他软件,这些软件可能受其他许可证约束(例如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用符合其中包含的所有软件的相关许可证。===SHORT_DESC=== nxs-data-anonymizer是一款用于***化PostgreSQL和MySQL/MariaDB/Percona数据库转储的工具,可保护敏感数据,适用于开发、测试环境数据准备或CI/CD流程集成。 ===FULL_DESC=== !https://github.com/nixys/nxs-data-anonymizer/assets/27485608/165a90a0-929f-460b-8dbd-2903c0d91f36
维护者:
Nixys LLC
获取帮助:
Nixys Support Bot、维护者*** 或 https://github.com/nixys/nxs-data-anonymizer/issues
提交issue:
https://github.com/nixys/nxs-data-anonymizer/issues
Dockerfile 链接nxs-data-anonymizer 是一款用于***化 PostgreSQL 和 MySQL/MariaDB/Percona 数据库转储的工具。
您可以直接从控制台使用该Docker镜像,或将其集成到CI/CD流程中。
您也可以将该工具作为二进制文件使用。详情参见 https://github.com/nixys/nxs-data-anonymizer#console%E3%80%82
使用前,您需要检查数据库结构并设置 nxs-data-anonymizer 配置,以匹配需要***化的敏感数据。
例如,若需实时将生产环境的PostgreSQL数据库***化到开发环境(需安装PostgreSQL客户端),可使用以下命令:
consoledocker run -it -v "/path/to/nxs-data-anonymizer.conf:/nxs-data-anonymizer.conf" nixyslab/nxs-data-anonymizer sh -c 'export PGPASSWORD=password; pg_dump -U postgres prod | /nxs-data-anonymizer -t pgsql -c /nxs-data-anonymizer.conf | psql -U postgres dev'
本节介绍如何将nxs-data-anonymizer集成到GitLab CI中。您可将以下任务添加到 .gitlab-ci.yml 并根据需求调整。
本节描述的任务将执行以下操作:
main 分支设置特定标签时运行production 数据库转储,***化后上传至S3存储桶任务示例:
yamlanonymize: stage: anonymize image: nixyslab/nxs-data-anonymizer:latest variables: GIT_STRATEGY: none PG_HOST: ${PG_HOST_PROD} PG_USER: ${PG_USER_PROD} PGPASSWORD: ${PG_PASS_PROD} before_script: - echo "${S3CMD_CFG}" > ~/.s3cmd - echo "${NXS_DA_CFG}" > /nxs-data-anonymizer.conf script: - pg_dump -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE} | /nxs-data-anonymizer -t pgsql -c /nxs-data-anonymizer.conf | gzip | s3cmd put - s3://bucket/anondump.sql.gz only: - /^v.*$/ except: - branches - merge_requests
本节描述的任务将执行以下操作:
stage 分支的手动任务stage 数据库任务示例:
yamlrestore-stage: stage: restore image: nixyslab/nxs-data-anonymizer:latest variables: GIT_STRATEGY: none PG_HOST: ${PG_HOST_STAGE} PG_USER: ${PG_USER_STAGE} PGPASSWORD: ${PG_PASS_STAGE} before_script: - echo "${S3CMD_CFG}" > ~/.s3cmd script: - s3cmd --no-progress --quiet get s3://bucket/anondump.sql.gz - | gunzip | psql -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE} only: - stage when: manual
本节描述上述GitLab CI任务示例中使用的变量。
通用变量
| 变量 | 描述 |
|---|---|
S3CMD_CFG | S3存储配置 |
PG_SCHEMA | PostgreSQL模式 |
PG_DATABASE | PostgreSQL数据库名称 |
生产环境变量
| 变量 | 描述 |
|---|---|
NXS_DA_CFG | nxs-data-anonymizer配置 |
PG_HOST_PROD | PostgreSQL主机 |
PG_USER_PROD | PostgreSQL用户 |
PG_PASS_PROD | PostgreSQL密码 |
测试环境变量
| 变量 | 描述 |
|---|---|
PG_HOST_STAGE | PostgreSQL主机 |
PG_USER_STAGE | PostgreSQL用户 |
PG_PASS_STAGE | PostgreSQL密码 |
本节介绍如何将nxs-data-anonymizer集成到GitHub Actions中。您可将以下任务添加到 .github 工作流并根据需求调整。
本节描述的任务可执行以下操作:
production 数据库转储,***化后上传至S3存储桶yamlon: push: tags: - v*.* jobs: anonymize: runs-on: ubuntu-latest container: image: nixyslab/nxs-data-anonymizer:latest env: PG_HOST: ${{ secrets.PG_HOST_PROD }} PG_USER: ${{ secrets.PG_USER_PROD }} PGPASSWORD: ${{ secrets.PG_PASS_PROD }} PG_SCHEMA: ${{ secrets.PG_SCHEMA }} PG_DATABASE: ${{ secrets.PG_DATABASE }} steps: - name: Create services configs run: | echo "${{ secrets.S3CMD_CFG }}" > ~/.s3cmd echo "${{ secrets.NXS_DA_CFG }}" > /nxs-data-anonymizer.conf - name: Anonymize run: | pg_dump -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE} | /nxs-data-anonymizer -t pgsql -c /nxs-data-anonymizer.conf | gzip | s3cmd put - s3://bucket/anondump.sql.gz
本节描述的任务将执行以下操作:
stage 数据库yamlon: workflow_dispatch jobs: restore-stage: runs-on: ubuntu-latest container: image: nixyslab/nxs-data-anonymizer:latest env:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务