本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本镜像为 Flyway Command-line 的官方 Docker 镜像,支持 Redgate Flyway 全系列版本(包括社区版、团队版和企业版),并与 Flyway Pipelines 兼容。Flyway Pipelines 可帮助用户集中查看跨项目的数据库部署状态,实现部署记录(已部署内容、时间及位置)的便捷追踪。
*-azure 标签镜像)。运行以下命令验证镜像可用性,将输出 Flyway Command-line 的使用说明:
docker run --rm redgate/flyway
执行具体 Flyway 命令需传入必要参数(如数据库连接信息、许可证密钥)。示例:查看数据库信息:
docker run --rm redgate/flyway -licenseKey="FL01..." -url=jdbc:h2:mem:test -user=sa info
带有 *-azure 标签的镜像(如 redgate/flyway:latest-azure)为适配 Azure Pipelines 代理作业需求,未定义入口点,需显式添加 flyway 命令:
docker run --rm redgate/flyway:latest-azure flyway -url=jdbc:h2:mem:test info
通过挂载以下卷可自定义 Flyway 配置、驱动及迁移文件:
| 卷路径 | 用途 |
|---|---|
/flyway/conf | 存放 配置文件 |
/flyway/drivers | 存放数据库 JDBC 驱动 |
/flyway/sql | 存放 SQL 迁移脚本 |
/flyway/jars | 存放 Java 迁移脚本 |
直接通过命令行传入 Flyway 参数,常用参数包括:
-licenseKey:Flyway 许可证密钥(团队版/企业版必填)-url:数据库 JDBC 连接 URL-user:数据库用户名-password:数据库密码-schemas:目标数据库模式示例:执行迁移命令:
docker run --rm redgate/flyway -licenseKey="FL01..." -url=jdbc:mysql://db:3306/mydb -user=root -password=P@ssw0rd migrate
通过 /flyway/conf 卷挂载配置文件(如 flyway.conf),集中管理参数。配置文件格式示例:
flyway.url=jdbc:h2:mem:test flyway.user=sa flyway.licenseKey=FL01... flyway.schemas=public
运行时挂载配置文件目录:
docker run --rm -v /absolute/path/to/confdir:/flyway/conf redgate/flyway info
将 SQL 迁移文件(如 V1__Initial.sql)放入本地目录,通过 /flyway/sql 卷挂载:
创建 SQL 文件 V1__Initial.sql:
CREATE TABLE MyTable ( MyColumn VARCHAR(100) NOT NULL );
挂载 SQL 目录并执行迁移:
docker run --rm -v /absolute/path/to/sqldir:/flyway/sql redgate/flyway -url=jdbc:h2:mem:test -user=sa migrate
若默认未包含目标数据库的 JDBC 驱动(可参考 官方文档 确认),或需使用特定版本驱动,可通过 /flyway/drivers 卷挂载:
将驱动 JAR 文件(如 mysql-connector-java-8.0.32.jar)放入本地目录。
挂载驱动目录并运行:
docker run --rm -v /absolute/path/to/driverdir:/flyway/drivers -v /absolute/path/to/sqldir:/flyway/sql redgate/flyway -url=jdbc:mysql://db:3306/mydb -user=root migrate
通过 /flyway/jars 卷挂载包含 Java 迁移类或回调的 JAR 文件:
将 Java 迁移 JAR 文件放入本地目录。
挂载 JAR 目录并执行:
docker run --rm -v /absolute/path/to/jardir:/flyway/jars -v /absolute/path/to/sqldir:/flyway/sql redgate/flyway -url=jdbc:h2:mem:test -user=sa migrate
通过 Flyway Pipelines 可集中追踪迁移结果,需使用 个人访问令牌(PAT)。示例:发布迁移结果至 Flyway Pipelines:
docker run --rm -v /absolute/path/to/sqldir:/flyway/sql -v /absolute/path/to/confdir:/flyway/conf redgate/flyway migrate --publishResults=true --email=<Redgate账户邮箱> -token=<PAT令牌>
通过 docker-compose.yml 可同时启动 Flyway 和目标数据库容器,实现迁移自动化:
version: '3' services: flyway: image: redgate/flyway # 命令:等待数据库初始化(最多60次重试)后执行迁移 command: -licenseKey="FL01..." -url=jdbc:mysql://db -schemas=myschema -user=root -password=P@ssw0rd -connectRetries=60 migrate volumes: - ./sql:/flyway/sql # 挂载本地SQL迁移文件目录 depends_on: - db # 依赖数据库服务启动 db: image: mysql:latest environment: - MYSQL_ROOT_PASSWORD=P@ssw0rd # 数据库root密码 command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci # 字符集配置 ports: - 3306:3306 # 暴露数据库端口
启动服务:
docker-compose up
Flyway 将自动等待 MySQL 初始化完成(最多 60 秒),随后执行迁移。
免费版仅支持 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