
dockerfile 如下:
FROM alpine WORKDIR /data COPY test ./test RUN chmod +x ./test ENTRYPOINT ["./test"] 构建镜像后,启动镜像报错 test 是二进制可执行文件
exec ./test: no such file or directory 1 prodan 2022 年 12 月 1 日 alpine 的 libc 跟其他 Linux 发行版不一样,你的二进制文件要在 alpine 环境下编译。 建议使用 Dockerfile 多阶段构建。 |
2 shenqi 2022 年 12 月 1 日 COPY test /data/test RUN chmod +x /data/test ENTRYPOINT [". /data/test"] 这样试下? |
3 shenqi 2022 年 12 月 1 日 ENTRYPOINT [". /data/test"] 有空格,不要漏 |
5 shiny PRO 我也遇到权限有,文件确定存在,报同样的错误。当时原因是编译给 ubuntu 的,但拷到了 alpine 里执行。 |
6 14v45mJPBYJW8dT7 2022 年 12 月 1 日 我的一个 go 程序示例,不知道能否帮到你 FROM golang:alpine WORKDIR /app COPY . /app RUN go build -o main . CMD ["/app/main"] |
7 churchill 2022 年 12 月 1 日 |
8 swulling 2022 年 12 月 1 日 via iPhone FROM ubuntu:22.04 |
9 BigDataIsDead 2022 年 12 月 1 日 加一行 |
10 BigDataIsDead 2022 年 12 月 1 日 RUN apk add --no-cache libc6-compat |
11 swulling 2022 年 12 月 1 日 via iPhone 坚决抵制 alpine 。 不喜欢 ubuntu 可以用 debian slim |
12 cctv6 2022 年 12 月 1 日 build 的时候加 CGO_ENABLED=1 , CGO_ENABLED=1 go build . |
13 isyu 2022 年 12 月 1 日 via iPhone 你的 test 文件在 Windows 上编辑的?先用 dos2unix 转换一下换行符。 |
&nsp; 14 francis59 2022 年 12 月 1 日 你的 shell 里面用的 Shebang(第一行)是 /bin/bash 吧,alpine 自带的只有 /bin/sh , 改一下 shell 或者改成下面这样就可以了 ENTRYPOINT ["/bin/sh", "./test"] |
15 hoopan OP 感谢,可以了。用 ubuntu 或 debian 可以正常执行。 |