我正在try 构建以下docker文件,然后运行它,但我收到此错误

Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "./doc8": permission denied: unknown

我的docker文件如下所示:try 构建两个容器,一个是go,另一个是id postgreSQL:

version: '3.7'
services:
  postgre-db:
    container_name: postgre-db
    image: postgres:12.2-alpine
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_USER: postgres
      POSTGRES_DB: postgres
    ports:
      - "5432:5432"
    volumes:
      - pgdata:/var/lib/postgresql/data
  doc8server:
    container_name: doc8server
    image: {IMAGE_NAME}
    env_file:
      - doc8.env
    build:
      context: .
      dockerfile: Dockerfile.doc8server.multistage
    ports:
      - "{PORT}:{PORT}"
    volumes:
      - doc8data:/opt/app/assets/pdfs
      - doc8data:/opt/app/assets/pdfs/originalFiles
    depends_on:
      - postgre-db
volumes:  
  pgdata: {}
  doc8data: {}

这是我的运行命令

docker compose up -d

这是我的文件

FROM golang:latest as builder

LABEL maintainer="Doc8 <example@gmail.com>"

WORKDIR /app/invos_server_golang

COPY go.mod go.sum ./

RUN go mod download

COPY . .

WORKDIR /app/invos_server_golang

RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o doc8 .

FROM rastasheep/ubuntu-sshd:latest

WORKDIR /opt/app

COPY --from=builder /app/invos_server_golang/doc8 .
COPY --from=builder /app/invos_server_golang/doc8.env .

EXPOSE {PORT}

CMD ["./doc8"]

如果我做错了什么,请让我知道

推荐答案

在容器中try 执行./doc8命令时似乎存在权限问题.您可以修改停靠文件,以确保可执行文件在运行之前具有正确的权限.

MODIFY THIS IN THE DOCKERFILE:

# Add execute permissions to the executable
RUN chmod +x ./doc8

CMD ["./doc8"]

Go相关问答推荐

Go 1.22 http mux:在同一路径上提供一个手柄和一个FS

如何修复在Go API中使用Gin Framework的请求资源上没有使用Gin Framework的请求源的消息?''

使用一元或服务器流将切片从GRPC服务器返回到客户端

如何解析Go-Gin多部分请求中的 struct 切片

无法读取postman 中的表单数据

Go 中的sync.Cond 与 Wait 方法

在 go 中,将接收器 struct 从值更改为指针是否向后兼容?

在 Go 中解组编号的 XML 标签

在 Go 中使用 Apache Arrow 按时间间隔对事件进行分区

使用 httptest 对 http 请求进行单元测试重试

我无法使用反向代理更改主机标头

Gorm 预加载给出了模糊的列错误

Golang 通过接口反映/迭代{}

数据流中的无根单元错误,从 Golang 中的 PubSub 到 Bigquery

我相信我正确地在 sRGB 和线性 RGB 之间进行了转换,那么为什么深色的结果看起来更糟呢?

函数超时和 goroutine 泄漏

在 golang 中联合一个接口和类型

Golang:每个键具有多个值的映射

无法识别同步错误.使用一次

并发 map map导致的 Golang 数据竞争