我想将我的Go服务器部署到Google Cloud Run上。我从这个指南中复制了Dockerfile。请帮我将其翻译成中文。
在将它部署到Cloud Run之前,我想通过使用
但是,它会出现以下错误:
感谢您的帮助。
FROM golang:1.13 as builder
WORKDIR /app
COPY go.* ./
RUN go mod download
COPY . ./
RUN CGO_ENABLED=0 GOOS=linux go build -v -o server
RUN chmod a+x server
FROM alpine:3
RUN apk add --no-cache ca-certificates
COPY --from=builder /app/server /server
CMD ["/server"]
在将它部署到Cloud Run之前,我想通过使用
docker build -t server .
命令构建映像并使用docker run server
命令运行容器来在本地测试它。但是,它会出现以下错误:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"/server\": permission denied": unknown.
感谢您的帮助。
RUN chmod a+x server
这行代码移到复制文件之后(但别忘了/
)。 - undefineddocker container run --rm -it server /bin/sh
然后执行ls -l server
来查看该文件的权限。 - undefined$ go version go version go1.12.5 darwin/amd64
,$ docker -v Docker version 19.03.4, build 9013bf5
。 - undefined