Kedro Dockers使Kedro项目与Docker轻松打包

kedro-docker的Python项目详细描述


凯德罗码头

许可证python版本pypi versioncode style:black

Docker是一个使创建、部署和运行应用程序更容易的工具。它使用容器将应用程序及其依赖项打包,然后在独立的虚拟化环境中运行应用程序。

配置Docker容器环境可能会变得复杂和乏味。Kedro Docker大大简化了这一过程,并将其简化为两个步骤:

  1. 创建Docker图像
  2. 在Docker环境中运行您的项目
< Buff行情>

注意:Kedro Docker还可以让您在Docker容器中轻松运行iPython和Jupyter笔记本。

如何安装Kedro Docker?

kedro docker是一个python插件。要安装它:

pip install kedro-docker

如何使用Kedro Docker?

先决条件

Kedro Docker必须满足以下条件才能打包您的项目:

创建Docker图像

要为项目生成Docker映像,请导航到项目的根目录,然后从命令行运行以下命令:

kedro docker build

在幕后,Kedro执行以下操作:

  1. 在项目根目录中创建模板dockerfile.dockerginore如果这些文件不存在
  2. 使用项目根目录中的dockerfile生成项目映像
< Buff行情>

注意:调用kedro docker build时,还可以通过指定--docker args选项传递docker build的任何特定选项。例如,kedro docker build--docker args="--no cache"指示docker在生成映像时不要使用缓存。您可以在这里了解有关可用选项的更多信息。

默认情况下,项目docker映像将标记为:最新的,其中是项目根目录的名称。要更改标记,可以添加--image命令行选项,例如:kedro docker build--image my project tag

在构建映像时,kedro会将当前项目的内容复制到映像中,但是它会忽略.dockerignore文件中指定的位置,以防止潜在的把敏感数据输入图像。我们建议在运行时安装这些卷。

选项:

  • --uid-容器内kedro用户的可选整数用户标识。默认为当前用户的uid
  • --gid-容器内kedro用户的可选整数组ID。默认为当前用户的gid
  • --image-可选的Docker图像标记。默认为项目目录名
  • --docker args-包含docker build命令的额外选项的可选字符串
  • -h,--help-显示命令帮助退出。

在Docker环境中运行项目

建立项目映像后,可以使用Docker环境运行项目:

kedro docker run

上面的命令将:

  1. 找到上一节中生成的图像
  2. 将整个项目目录复制到/home/kedro容器路径中
  3. 在新容器中执行kedro run命令
< Buff行情>

注意:kedro docker run命令将--rm标记添加到底层的docker run调用中,因此容器退出时将自动删除。请确保在运行时将所有必需的数据保存在容器外部,以避免数据丢失。

默认情况下,kedro docker run将使用标记为"项目根目录:最新"的图像来创建容器。如果在上一步中重命名了图像,请提供带有相应图像标记的--image选项,例如:kedro docker run--image"my custom image:latest"

调用kedro docker run时,还可以通过提供--docker args选项传递docker run的任何特定选项。由于--docker args可能包含多个参数,因此最好添加引号。例如,kedro docker run--docker args="--env key=myvalue"指示docker在容器中将环境变量key设置为myvalue。您可以在这里了解有关可用选项的更多信息。

所有其他cli选项都将附加到容器中的kedro run命令中。例如,kedro docker run--parallel将在容器中运行kedro run--parallel

选项:

  • --image-要使用的docker映像名,默认为项目根目录名
  • --docker args-包含docker run命令的额外选项的可选字符串
  • -h,--帮助-显示命令帮助退出
  • 任何其他选项都将被视为kedro run命令选项

与Docker互动开发

除了kedro docker run之外,kedro还支持以下命令:

  • kedro docker ipython-在容器内运行ipython会话
  • Kedro Docker Jupyter笔记本-在容器内启动Jupyter笔记本
  • Kedro Docker Jupyter实验室-在容器内启动Jupyter实验室

选项:

  • --image-要使用的docker映像名,默认为项目根目录名
  • --docker args-包含docker run命令的额外选项的可选字符串
  • --端口-容器端口将映射到的主机端口,默认为8888。此选项仅适用于kedro docker jupyter命令
  • -h,--帮助-显示命令帮助退出
  • 任何其他选项都将被视为对应的kedrocommand cli选项。例如,kedro docker jupyter lab——笔记本app.token='--notebookapp.password='将在没有密码和令牌的情况下运行jupyter lab服务器。
< Buff行情>

重要提示:请注意,默认情况下,项目的源代码目录(src文件夹)不会装入docker容器。这意味着,如果在容器内的src目录中更改任何代码,则这些更改将保存到主机,并在容器终止时完全丢失。例如,要在运行jupyter实验室时装载整个项目,请运行以下命令:

kedro docker jupyter lab --docker-args "-v ${PWD}:/home/kedro"

使用Docker运行自定义命令

您也可以通过执行kedro docker cmd<;cmd>;在docker容器中运行任意命令,其中<;cmd>;对应于要执行的命令。如果未指定<;cmd>;,则将在容器内执行kedro run

< Buff行情>

注意:如果您运行的是kedro命令,与前面的部分不同,您应该指定整个命令,包括kedro关键字。这也允许执行非kedro命令。

例如:

  1. kedro docker cmd kedro test将在容器内运行kedro test
  2. kedro docker cmd将在容器内运行kedro run
  3. kedro docker cmd--docker args="-it"/bin/bash将在容器中创建一个交互式的bash外壳(并分配一个连接到容器stdin的伪tty)。

选项:

  • --image-要使用的docker映像名,默认为项目根目录名
  • --docker args-包含docker run命令的额外选项的可选字符串
  • -h,--help-显示命令帮助退出。

我能帮忙吗?

是的!想帮助建造凯德罗码头吗?查看我们的《贡献指南》

你用什么执照?

Kedro Docker是在Apache2.0许可下获得许可的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何获取所有链接并使用SeleniumWebDriver逐个单击这些链接   java中数组列表的arraylist移位元素   java如何存储具有不同类型参数的元素   java不能使用List<Future<?>>当从不同位置调用时,在方法参数中   java我应该如何修复代码以避免测试代码出错?   安卓 PreferenceFragment java。lang.RuntimeException   java在运行emulator时发现错误   java取消多个AsyncTask回调的有效方法是什么?如果中途满足条件,这些回调将在将来返回?   有没有办法在运行时将方法动态分配给Java类?   java如何将propertyfile与GlassFish一起使用   如何在PHP中使用bcrypt对密码进行哈希处理?   Java和UDP web服务器   java JPA允许EntityListeners执行JPA操作吗?   java执行do while语句时不会产生错误   java无法在edittext中显示数据库中的数据   java Tomcat中活动会话的数量   java在何处使用@SuppressWarnings(“requestfactory”)   netty连接中的java HornetQ异常