当我尝试使用docker构建golang时
Docker的映像构建成功,但是在使用docker run运行时发生以下错误
docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"/app\": permission denied": unknown.
我认为此错误导致没有用户添加,因此我如下添加了组和用户
RUN groupadd -g 10001 myapp \
&& useradd -u 10001 -g myapp myapp
但没有解决。
这是我的源docker文件
FROM golang:1.12.9 as builder
ADD . /go/src/appname/
WORKDIR /go/src/appname/
ENV GO111MODULE=on
COPY go.mod .
COPY go.sum .
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 make build target=prod
FROM alpine
RUN apk update \
&& apk add --no-cache
COPY --from=builder /go/src/ /app
ENTRYPOINT [ "/app" ]
谢谢
您将/app
在此步骤中将整个源文件夹复制到目录中:
COPY --from=builder /go/src/ /app
然后,您尝试执行目录:
ENTRYPOINT [ "/app" ]
相反,您需要复制go build在复制步骤中输出的已编译二进制文件。
问题内容: 我需要使用Go工具链构建一个程序,然后执行它。由于某些原因,由于分支,我收到了权限错误。有没有办法避免此错误或任何最佳做法?我认为我的程序与工具做了类似的事情,尽管没有得到这种错误。 错误: 作业系统:OSX 10.11 问题答案: 您要将命令路径从二进制文件的位置更改为。 如果要更改工作目录,请使用
问题内容: 我最近使用CentOS 6.3将Go安装到了我们的服务器上。安装似乎一切正常。但是,我制作了一个测试“ hello world”脚本,运行时得到以下输出。 现在运行go env或其他go命令似乎可以正常工作。起初,我认为这是一个权限问题,但是以root用户身份运行时,我会得到相同的结果。一个 问题答案: 只是猜测:出于安全原因,您的nix可能会禁用在/ tmp中执行程序。它可能在Cen
我是docker新手。我想在docker中部署我的应用程序节点js,但我面临以下错误,请帮助我 /usr/bin/docker-current:来自守护进程的错误响应:oci运行时错误:container_linux.go:247:启动容器进程导致“在$PATH中找不到exec: \".\": 可执行文件”。 Dockerfile:
错误:无法启动服务cpanel_客户端:头字段值无效“oci运行时错误:容器_linux.go:247:启动容器进程导致”exec:\“sudo\”:未找到可执行文件 这是我的docker文件, 这是码头工人。yml, 我的package.json档案, 建造成功了。当我运行时,我遇到了这个错误。有人能告诉我哪里错了吗?
logcat给我这个错误: 当我将应用程序从eclipse部署到emulator时,它工作正常。当我关闭应用程序并尝试再次运行时,出现问题,然后我收到消息: 这是我的舱单。xml 有人能检查一下出了什么问题吗? 谢谢
问题内容: 当我尝试运行简单的docker命令时,例如: 我收到一条错误消息: 获得权限被拒绝… /var/run/docker.sock:connect:权限被拒绝 当我检查权限 我看到这一行: 因此,我遵循许多论坛的建议并将本地用户添加到docker组: 但这无济于事。我仍然收到非常相同的错误消息。我该如何解决? 问题答案: 对于那些刚接触shell的人,命令: 需要在您的外壳中定义。默认情况