
如果你使用 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://img.shields.io/docker/cloud/automated/flyway/flyway]https://hub.docker.com/r/flyway/flyway/
[已弃用] 对于Flyway 9及更新版本,请使用https://hub.docker.com/r/flyway/flyway%E4%B8%AD%E7%9A%84azure%E6%A0%87%E7%AD%BE
这是https://flywaydb.org/documentation/usage/commandline/%E9%95%9C%E5%83%8F%E7%9A%84%E5%AE%98%E6%96%B9%E4%BB%93%E5%BA%93%E3%80%82
有两个镜像家族:
有关官方支持的标签,请阅读仓库https://github.com/flyway/flyway-docker#supported-tags%E3%80%82
flyway-azure镜像仅支持alpine版本。
为方便按需求运行Flyway,支持以下卷:
| 卷路径 | 用途 |
|---|---|
/flyway/conf | 包含flyway.confhttps://flywaydb.org/documentation/usage/commandline/#configuration%E7%9A%84%E7%9B%AE%E5%BD%95 |
/flyway/drivers | 包含https://flywaydb.org/documentation/usage/commandline/#jdbc-drivers%E7%9A%84%E7%9B%AE%E5%BD%95 |
/flyway/sql | 希望Flyway使用的SQL文件(用于https://flywaydb.org/documentation/concepts/migrations#sql-based-migrations%EF%BC%89 |
/flyway/jars | 希望Flyway使用的JAR文件(用于https://flywaydb.org/documentation/concepts/migrations#java-based-migrations%EF%BC%89 |
可通过设置FLYWAY_EDITION环境变量切换不同Flyway版本,取值如下:
| 值 | 描述 |
|---|---|
community | 选择Flyway社区版(默认) |
pro | 选择Flyway专业版(v6) |
enterprise | 选择Flyway企业版(v6)/团队版(v7) |
最简单的入门方式是运行默认镜像测试:
bashdocker run --rm docker.xuanyuan.run/flyway/flyway
这将显示Flyway命令行的使用说明。
要执行实际操作,需向镜像传递所需参数。例如:
bashdocker run --rm docker.xuanyuan.run/flyway/flyway -url=jdbc:h2:mem:test -user=sa info
注意,flyway/flyway-azure的语法略有不同,为兼容Azure Pipelines代理作业要求,它未定义入口点,需显式添加flyway命令。例如:
bashdocker run --rm docker.xuanyuan.run/flyway/flyway-azure:latest-alpine flyway
要添加自定义SQL文件,将其放在目录中并挂载为flyway/sql卷。
创建新目录并添加名为V1__Initial.sql的文件,内容如下:
sqlCREATE TABLE MyTable ( MyColumn VARCHAR(100) NOT NULL );
运行挂载卷的镜像:
bashdocker run --rm -v /绝对路径/到/sql目录:/flyway/sql docker.xuanyuan.run/flyway/flyway -url=jdbc:h2:mem:test -user=sa migrate
若倾向于将参数存储在配置文件中,可使用flyway/conf卷。
创建名为flyway.conf的文件,内容如下:
propertiesflyway.url=jdbc:h2:mem:test flyway.user=sa
运行挂载该卷的镜像:
bashdocker run --rm -v /绝对路径/到/sql目录:/flyway/sql -v /绝对路径/到/conf目录:/flyway/conf docker.xuanyuan.run/flyway/flyway migrate
Flyway默认包含以下数据库的驱动:
若数据库不在此列表中,或需使用不同/更新的驱动,可通过flyway/drivers卷添加。
创建目录并放入例如Oracle JDBC驱动(ojdbc8.jar)。
挂载该卷让Flyway使用:
bashdocker run --rm -v /绝对路径/到/sql目录:/flyway/sql -v /绝对路径/到/conf目录:/flyway/conf -v /绝对路径/到/driver目录:/flyway/drivers docker.xuanyuan.run/flyway/flyway migrate
要传入基于Java的迁移和回调,可使用flyway/jars卷。
创建目录并放入包含Java迁移的JAR文件。
挂载该卷让Flyway使用:
bashdocker run --rm -v /绝对路径/到/sql目录:/flyway/sql -v /绝对路径/到/conf目录:/flyway/conf -v /绝对路径/到/jar目录:/flyway/jars docker.xuanyuan.run/flyway/flyway migrate
要在容器中同时运行Flyway和待迁移数据库,可使用docker-compose.yml文件启动并链接两个容器。
yamlversion: '3' services: flyway: image: docker.xuanyuan.run/flyway/flyway command: -url=jdbc:mysql://db -schemas=myschema -user=root -password=P@ssw0rd -connectRetries=60 migrate volumes: - .:/flyway/sql depends_on: - db db: image: docker.xuanyuan.run/mysql environment: - MYSQL_ROOT_PASSWORD=P@ssw0rd command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci ports: - 3306:3306
运行docker-compose up,将启动Flyway和MySQL。Flyway将自动等待最多一分钟,待MySQL初始化完成后开始数据库迁移。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务