#docker-image #build-tool #compilation #unpacking #package #nanoservice #nanoservices

build nanoforge

一个用于拉取Docker镜像、解包它们并将它们编译到Rust项目的工具

1个不稳定版本

0.1.0 2024年3月30日

#301构建实用工具

BSD-2-Clause

21KB
304

NanoForge

纳米服务的构建和运行工具

安装

我们希望将来为操作系统打包,但现在您可以使用以下命令进行安装

wget -qO- https://raw.githubusercontent.com/nanoservicesforge/NanoForge/main/scripts/install.sh | sh

用法

在我们可以使用NanoForge之前,我们需要使用scratch打包纳米服务并在以下示例中构建它

FROM scratch

COPY ./your_package .

在构建中声明纳米服务

然后这足以在Docker镜像中打包您的纳米服务。现在我们转向在Cargo.toml中声明我们的纳米服务,如下所示(nan-one是Docker Hub上纳米服务的真实玩具示例)

[nanoservices.nan-one]
dev_image = "maxwellflitton/nan-one"
prod_image = "maxwellflitton/nan-one"
entrypoint = "."

准备您的构建

现在我们可以使用以下命令准备我们的构建(您的工作目录应该是项目的根目录)

nanoforge prep

此命令将创建一个.nanoservices_cache并拉取Docker镜像,将文件解包到缓存中。构建工具将随后扫描所有子目录,寻找项目中所有Cargo.toml文件中的纳米服务。然后将为每个纳米服务计算相对路径并在Cargo.toml文件中定义。例如,我们的nan-one纳米服务将具有以下路径

[dependencies.nan-one]
path = "../.nanoservices_cache/domain_services/nanoservices/maxwellflitton_nan-one/."

然后您可以在构建中使用它。

依赖关系

~3–12MB
~157K SLoC