首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dockerfile OpenApi生成器

Dockerfile OpenApi生成器
EN

Stack Overflow用户
提问于 2022-04-19 21:48:29
回答 1查看 1.3K关注 0票数 0

我试图避免在我的停靠映像中导入所有类型的依赖项(通过npm或java),这样我就可以生成一个傲慢的客户端。

我使用的是openapitools/openapi发生器-cli,但是当我尝试使用它时,generate命令就找不到了。这是文档

我想做的是:

代码语言:javascript
复制
FROM openapitools/openapi-generator-cli
RUN generate

结果:

代码语言:javascript
复制
Step 1/2 : FROM openapitools/openapi-generator-cli
 ---> 62d78bf45d59
Step 2/2 : RUN generate
 ---> Running in accaf10464d5
/bin/sh: 1: generate: not found

然而,这是没有问题的:

代码语言:javascript
复制
docker run openapitools/openapi-generator-cli generate

所谓“工作”,我的意思是,我从cli那里得到了积极的反馈,说我错过了所需的args。

对于Docker的这一部分,我的理解是否与FROM在这里的工作方式是不正确的?我认为我碰到了错误,因为FROM实际上没有运行容器,因此generator不存在。

但让我感到困惑的是,我对dotnet做了完全相同的处理,而且它运行得非常好。

代码语言:javascript
复制
FROM mcr.microsoft.com/dotnet/aspnet:6.0-bullseye-slim
RUN dotnet

结果:

代码语言:javascript
复制
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.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-19 22:14:44

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,并掌握传递生成时发生的逻辑,或者简单地执行以下操作

代码语言:javascript
复制
FROM openapitools/openapi-generator-cli
RUN bash /usr/local/bin/docker-entrypoint.sh generate
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71931716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档