首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker副本不复制脚本

Docker副本不复制脚本
EN

Stack Overflow用户
提问于 2019-10-29 15:39:37
回答 1查看 924关注 0票数 0

Docker副本不在bash脚本上复制。

代码语言:javascript
复制
FROM alpine:latest

#Install Go and Tini - These remain.
RUN apk add --no-cache go build-base gcc go

RUN apk add --no-cache --update ca-certificates redis git && update-ca-certificates

# Set Env Variables for Go and add Go to Path.
ENV GOPATH /go
ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH

RUN go get github.com/rakyll/hey

RUN echo GOLANG VERSION `go version`
COPY ./bench.sh /root/bench.sh
RUN chmod +x /root/bench.sh
ENTRYPOINT /root/bench.sh

这是剧本-

代码语言:javascript
复制
#!/bin/bash
set -e;

echo "entered";

hey;

我尝试运行上面的Dockerfile

代码语言:javascript
复制
$ docker build -t test-bench .
$ docker run -it test-bench

但我明白错误

代码语言:javascript
复制
/bin/sh: /root/bench.sh: not found

文件确实存在-

代码语言:javascript
复制
$ docker run --rm -it test-bench sh
/ # ls
bin    dev    etc    go     home   lib    media  mnt    opt    proc   root   run    sbin   srv    sys    tmp    usr    var
/ # cd root
~ # ls
bench.sh
~ #
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-29 15:53:42

你的docker build成功了吗。当我试图模拟时,发现了以下错误

代码语言:javascript
复制
 ---> Running in 96468658cebd
go: missing Git command. See https://golang.org/s/gogetcmd
package github.com/rakyll/hey: exec: "git": executable file not found in $PATH
The command '/bin/sh -c go get github.com/rakyll/hey' returned a non-zero code: 1

尝试使用Dockerfile git安装RUN apk add --no-cache go build-base gcc go git,然后再次运行。

这里的COPY操作似乎是正确的。确保它存在于执行docker build的目录中。

好的,脚本使用的是/bin/bash,在高寒图像中,bash二进制文件不可用。要么必须安装它,要么应该使用/bin/sh外壳。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58610761

复制
相关文章

相似问题

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