首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kaniko docker build:找不到命令

kaniko docker build:找不到命令
EN

Stack Overflow用户
提问于 2019-04-23 15:04:12
回答 1查看 1.1K关注 0票数 1

菜鸟到kaniko,并尝试在ubuntu docker主机上构建docker镜像。

我有一个本地的Dockerfilemain.go应用程序

代码语言:javascript
复制
# Dockefile
FROM golang:1.10.3-alpine AS build
ADD . /src
RUN cd /src && go build -o app

FROM alpine
WORKDIR /app
COPY --from=build /src/app /app/
CMD [ "./app" ]
代码语言:javascript
复制
#main.go
package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

在命令行中,我运行

代码语言:javascript
复制
docker run -it  -v $(pwd):/usr \
   gcr.io/kaniko-project/executor:latest \
   --dockerfile=Dockerfile --context=/usr --no-push

不幸的是,我得到了如下错误

代码语言:javascript
复制
...
INFO[0006] Skipping paths under /proc, as it is a whitelisted directory
INFO[0006] Using files from context: [/usr]
INFO[0006] ADD . /src
INFO[0006] Taking snapshot of files...
INFO[0006] RUN cd /src && go build -o app
INFO[0006] cmd: /bin/sh
INFO[0006] args: [-c cd /src && go build -o app]
/bin/sh: go: not found
error building image: error building stage: waiting for process to exit: exit status 127

怎么了?(docker版本18.09.0)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-23 15:26:21

您需要为kaniko中的上下文使用不同的路径。运行此构建的命令应如下所示:

代码语言:javascript
复制
docker run -it  -v $(pwd):/context \
   gcr.io/kaniko-project/executor:latest \
   --dockerfile=Dockerfile --context=/context --no-push

在您使用/usr作为上下文kaniko的命令中,在所有located文件和golang映像中覆盖此路径,go位于/usr路径中,这就是为什么它无法找到它的原因

代码语言:javascript
复制
# which go
/usr/local/go/bin/go
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55805917

复制
相关文章

相似问题

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