Docker安装
dbt Core和dbt Labs维护的所有适配器插件都可以使用Docker镜像,并通过GitHub Packages分发在public registry.
在生产环境中使用预构建的Docker安装dbt Core有几个好处:它已经包括dbt Core、一个或多个数据库适配器以及它们所有依赖项。相比之下,pip-install dbt core dbt-<adapter>需要更长的时间来运行,并且将始终安装每个依赖项的最新兼容版本。
如果您没有设置Python环境,您也可以使用Docker在本地进行安装和开发。请注意,如果您的操作系统与构建Docker镜像的系统不同,那么以这种方式运行dbt可能会慢得多。如果您习惯于本地开发,我们建议您通过Homebrew或pip来安装dbt Core。
准备¶
- 您已经安装了Docker。有关更多信息,请参阅Docker.
- 您了解所需哪种数据库适配器。有关更多信息,请参阅关于dbt适配器.
- 您了解dbt Core是如何进行版本控制的。有关更多信息,请参阅关于dbt Core版本.
- 您基本了解dbt,dbt工作流,以及在命令行界面(CLI)中进行本地开发。有关更多信息,请参阅关于dbt.
从Github中安装dbt Docker镜像¶
官方dbt docker镜像托管在packages in the dbt-labs GitHub organization. 我们维护每个数据库适配器的每个版本的镜像和tag,以及两个在发布时更新为新版本的tag:
- latest: dbt-core和这个适配器的最新版本
- <Major>.<Minor>.latest: dbt-core和该适配器的最新补丁,适用于<Major>.<Minor>版本。例如,1.1.latest包括dbt Core v1.1的最新补丁.
使用docker pull命令来安装镜像
在容器中运行dbt Docker镜像¶
dbt Docker镜像的ENTRYPOINT是dbt命令。您可以将项目挂载到/usr/app并正常使用dbt:
docker run \
--network=host \
--mount type=bind,source=path/to/project,target=/usr/app \
--mount type=bind,source=path/to/profiles.yml,target=/root/.dbt/ \
<dbt_image_name> \
ls
注意
- 挂载点 必须 是一个绝对路径
- 您可能需要根据数据仓库或数据库主机的具体情况对docker网络设置进行调整.
构建自定义dbt Docker镜像¶
如果预先制作的镜像不符合你的使用要求,我们提供了Dockerfile 和README 来使用各种方式构建自定义镜像.
值得一提的是,Dockerfile支持创建以下镜像: - dbt Labs维护的所有适配器镜像 - 安装了一个或多个第三方适配器镜像 - 针对另一个系统架构的镜像
请注意,如果您选择构建自己的Docker镜像,我们无法提供专门的支持。如果您遇到问题,欢迎您在社区寻求帮助,或在dbt-core仓库中open an issue.如果大量用户寻求相同的问题,我们会将问题标记为help_wanted,并邀请社区参与。