docker - 当我启动`docker compose up`时,如何解决“权限被拒绝”的问题?
问题描述
当我只运行 docker build 时,我没有任何问题。
但是,当我开始时docker-compose up
:
Cannot start service server: OCI runtime create failed: container_linux.go:370: starting container process caused: exec: permission denied: unknown
Dockerfile
...
ENV CGO_ENABLED=0
ENV GO111MODULE=on
ENV GOFLAGS=-mod=vendor
RUN dep ensure
RUN go mod vendor
RUN go mod download
RUN go mod verify
EXPOSE 8080
ENTRYPOINT ["/go/src/github.com/project/module"]
docker-compose.yaml
...
server:
build:
context: .
dockerfile: service.dockerfile
platform: linux
ports:
- 8080:8080
解决方案
关于 docker 权限
适当的解决方案
- 您需要拥有卷的所有必需权限
- 将您的用户添加到 docker 组。更多信息在这里:https ://docs.docker.com/engine/install/linux-postinstall/
快速而糟糕的解决方案
使用 sudo 或以 root 身份运行 docker-compose:sudo docker-compose -f ... up
OCI 错误:
但是您的问题不在于权限,而在于不存在的程序:
ENTRYPOINT ["/go/src/github.com/project/module"]
程序可执行二进制文件是否/go/src/github.com/project/module
具有执行权限?
推荐阅读
- c# - 如何使 NavigationView 的内容适合屏幕
- python - 创建具有向后兼容性的包
- javascript - 负载中的 Base64string 大小太大
- java - 从java中的数据集中删除一个实例
- c++ - “if root == NULL”和“if !root”之间的区别
- php - 为什么 Bit.ly v4 API 返回 INVALID_CONTENT_TYPE_HEADER?
- swift - 如何确定时间表在swift中运行后台获取
- oracle - 如何在插入、存储过程 pl/sql 之前检查我是否没有当前 id 的行
- python-3.x - 如何使用 python 3 从网站中提取所有页面 URL?
- python - 搜索存储在文本文件中的字符串