快速参考
-
维护者:
Liquibase -
获取帮助的途径:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
支持的标签和相应的 Dockerfile 链接
快速参考(续)
-
已发布的映像工件详细信息:
repo-info repo 的repos/liquibase/目录(历史记录)
(图像元数据、传输大小等) -
图像更新:
官方镜像仓库的library/liquibase标签
官方镜像仓库的library/liquibase文件(历史记录) -
来源:此描述的来源:
docs 存储库的liquibase/目录(历史记录)
什么是 Liquibase?
Liquibase 是您数据库的 DevOps。有关 Liquibase 的更多信息,请访问 http://www.liquibase.org。
Liquibase 将变更日志的内容与数据库进行比较,以确定需要对数据库应用哪些更改(如果有)。例如,您可以使用 Liquibase 创建表、添加列等。Liquibase 通过 Docker 容器交付,以帮助使用 Docker 进行 CI/CD 解决方案的用户。

如何使用此图像
如果您今天通过命令行执行 Liquibase,您可能是这样做的:
$ liquibase update --driver=org.postgresql.Driver --url="jdbc:postgresql://<DATABASE_IP>:<DATABASE_PORT>/<DATABASE>" --changeLogFile=/liquibase/changelog/changelog.xml --username=<USERNAME> --password=<PASSWORD>
使用此 Docker 映像的唯一更改是使用 docker run ... 并将包含您的更改日志.xml(或.yml 或.json 或.sql)的文件夹挂载到 Liquibase 容器中的 /liquibase/changelog
$ docker run -v /home/user/changelog:/liquibase/changelog liquibase --driver=org.postgresql.Driver --url="jdbc:postgresql://<DATABASE_IP>:<DATABASE_PORT>/<DATABASE>" --changeLogFile=/liquibase/changelog/changelog.xml --username=<USERNAME> --password=<PASSWORD>
所有的 Liquibase 命令,例如 rollback 、 updateSQL 等,也都可用。
图像变体
liquibase 图像有多种类型,每种都针对特定的用例进行了设计。
liquibase:<version>
这是默认的镜像。如果您不确定自己的需求是什么,您可能想要使用这个。它被设计为既可以用作一次性容器(挂载您的源代码并启动容器以启动您的应用程序),也可以用作构建其他镜像的基础。
liquibase:<version>-alpine
该镜像基于流行的 Alpine Linux 项目,可在 alpine 官方镜像中使用。Alpine Linux 比大多数发行版基础镜像(约 5MB)小得多,因此通常会生成更精简的镜像。
当您主要关注最终图像大小尽可能小时,此变体很有用。需要注意的主要警告是,它确实使用 musl libc 而不是 glibc 等,因此软件通常会根据其 libc 要求/假设的深度遇到问题。有关可能出现的问题以及使用基于 Alpine 的映像的一些优缺点比较的更多讨论,请参阅此 Hacker News 评论线程。
为了最小化镜像大小,在基于 Alpine 的镜像中包含额外的相关工具(如 git 或 bash )是不常见的。使用此镜像作为基础,在您自己的 Dockerfile 中添加您需要的东西(如果您不熟悉如何安装软件包,请参阅 alpine 镜像描述中的示例)。
许可证
查看此映像中包含的 Liquibase 软件的许可证信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能受其他许可证的约束(例如来自基础发行版的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可证信息可能会在 repo-info 存储库的 liquibase/ 目录中找到。
对于任何预构建的映像使用,映像用户有责任确保对此映像的任何使用都符合其中包含的所有软件的任何相关许可证。