我尝试将我的二进制文件复制到容器中,然后在容器上执行它。
我把swarm.exe和Dockerfile放在同一个目录下。但我总是得到相同的错误:"./swarm:没有这样的文件或目录“。
我的dockerfile:
FROM golang:1.7-alpine
RUN echo http://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories
RUN apk update && apk add --update openssl && apk add glide git
RUN mkdir /tools
WORKDIR /tools
RUN wget https://github.com/Masterminds/glide/releases/download/0.10.2/glide-0.10.2-linux-386.tar.gz
RUN tar -zxvf glide-0.10.2-linux-386.tar.gz
RUN mv linux-386/ glide/
ENV PATH /tools/glide:$PATH
WORKDIR /usr/src/app
COPY swarm.exe .
CMD ["./swarm"]
基本上,我尝试将swarm.exe复制到/usr/src/app (我现在所在的位置),然后执行。
有什么想法吗?谢谢
发布于 2019-05-14 20:40:06
Alpine镜像是基于linux的,它们不能像windows那样识别.exe
文件。要么执行CMD ["./swarm.exe"]
,要么使用不同的图像。
https://stackoverflow.com/questions/56129657
复制相似问题