Dockerfile OpenApi 生成器
Dockerfile OpenApi Generator
我试图避免在我的 docker 图像中导入各种依赖项(通过 npm 或 java),以便我可以生成一个 swagger 客户端。
我正在使用 openapitools/openapi-generator-cli but when I try and use it, the command generate
isn't found. Here are the docs
这是我正在尝试做的事情:
FROM openapitools/openapi-generator-cli
RUN generate
结果:
Step 1/2 : FROM openapitools/openapi-generator-cli
---> 62d78bf45d59
Step 2/2 : RUN generate
---> Running in accaf10464d5
/bin/sh: 1: generate: not found
但是,这没有问题:
docker run openapitools/openapi-generator-cli generate
我所说的“有效”是指我从 cli 得到了积极的反馈,说我缺少所需的参数。
作为 Docker 这部分的新手,我对 FROM
应该如何工作的理解不正确吗?我想我遇到了错误,因为 FROM
实际上 运行 容器,因此 generator
不存在。
但让我感到困惑的是,我对 dotnet
进行了完全相同的处理,而且效果非常好。
FROM mcr.microsoft.com/dotnet/aspnet:6.0-bullseye-slim
RUN dotnet
结果:
Step 1/2 : FROM mcr.microsoft.com/dotnet/aspnet:6.0-bullseye-slim
---> 32aef79fd915
Step 2/2 : RUN dotnet
---> Running in 1e6c04d30a82
Usage: dotnet [options]
Usage: dotnet [path-to-application]
Options:
-h|--help Display help.
--info Display .NET information.
--list-sdks Display the installed SDKs.
--list-runtimes Display the installed runtimes.
docker run openapitools/openapi-generator-cli generate
之所以有效,是因为它在容器
内等效于bash /usr/local/bin/docker-entrypoint.sh generate
因为从 Dockerfile 中 /usr/local/bin/docker-entrypoint.sh
被设置为 ENTRYPOINT
,为您检查 github 存储库中的 docker-entrypoint.sh 并掌握当您通过生成,或者简单地做
FROM openapitools/openapi-generator-cli
RUN bash /usr/local/bin/docker-entrypoint.sh generate
我试图避免在我的 docker 图像中导入各种依赖项(通过 npm 或 java),以便我可以生成一个 swagger 客户端。
我正在使用 openapitools/openapi-generator-cli but when I try and use it, the command generate
isn't found. Here are the docs
这是我正在尝试做的事情:
FROM openapitools/openapi-generator-cli
RUN generate
结果:
Step 1/2 : FROM openapitools/openapi-generator-cli
---> 62d78bf45d59
Step 2/2 : RUN generate
---> Running in accaf10464d5
/bin/sh: 1: generate: not found
但是,这没有问题:
docker run openapitools/openapi-generator-cli generate
我所说的“有效”是指我从 cli 得到了积极的反馈,说我缺少所需的参数。
作为 Docker 这部分的新手,我对 FROM
应该如何工作的理解不正确吗?我想我遇到了错误,因为 FROM
实际上 运行 容器,因此 generator
不存在。
但让我感到困惑的是,我对 dotnet
进行了完全相同的处理,而且效果非常好。
FROM mcr.microsoft.com/dotnet/aspnet:6.0-bullseye-slim
RUN dotnet
结果:
Step 1/2 : FROM mcr.microsoft.com/dotnet/aspnet:6.0-bullseye-slim
---> 32aef79fd915
Step 2/2 : RUN dotnet
---> Running in 1e6c04d30a82
Usage: dotnet [options]
Usage: dotnet [path-to-application]
Options:
-h|--help Display help.
--info Display .NET information.
--list-sdks Display the installed SDKs.
--list-runtimes Display the installed runtimes.
docker run openapitools/openapi-generator-cli generate
之所以有效,是因为它在容器
内等效于bash /usr/local/bin/docker-entrypoint.sh generate
因为从 Dockerfile 中 /usr/local/bin/docker-entrypoint.sh
被设置为 ENTRYPOINT
,为您检查 github 存储库中的 docker-entrypoint.sh 并掌握当您通过生成,或者简单地做
FROM openapitools/openapi-generator-cli
RUN bash /usr/local/bin/docker-entrypoint.sh generate