无法启动服务应用程序:OCI 运行时创建失败:container_linux.go:349

2023-12-21

当我尝试使用 docker 启动 go 应用程序时遇到一些麻烦。ERROR: for app Cannot start service app: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"./main\": permission denied": unknown当我尝试做时就会发生docker-compose up

这是我的多阶段 Dockerfile:

# Dockerfile References: https://docs.docker.com/engine/reference/builder/

# Start from the latest golang base image
FROM golang:1.13 as builder

# Set the Current Working Directory inside the container
WORKDIR /memesbot

# Copy go mod and sum files
COPY go.mod go.sum ./

# Download all dependencies. Dependencies will be cached if the go.mod and go.sum files are not changed
RUN go mod download

# Copy the source from the current directory to the Working Directory inside the container
COPY . .

# Build the Go app
RUN go build -o /memesbot/cmd/main .

######## Start a new stage from scratch #######
FROM alpine:latest


RUN apk --no-cache add ca-certificates

WORKDIR /root/

# Copy the Pre-built binary file from the previous stage
COPY --from=builder /memesbot/cmd/main .

# Command to run the executable
CMD ["./main"]

和 docker-compose.yml

version: '3'

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "7777:7777"
    environment:
      TELEGRAM_TOKEN: xxxyyy

有人知道我该如何解决这个问题吗?


设置可执行文件的权限,它应该可以工作。

RUN chmod +x ./main
# Command to run the executable
CMD ["./main"]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法启动服务应用程序:OCI 运行时创建失败:container_linux.go:349 的相关文章

  • 在 docker 中将 pgadmin 连接到 postgres

    我有一个docker compose与服务文件python nginx postgres and pgadmin services postgres image postgres 9 6 env file env volumes postg
  • docker build --no-cache 是否构建不同的层?

    几个月前 我决定使用以下命令设置我的项目构建 docker 镜像的 CIno cacheflag 我认为最好不要冒险让 docker 使用旧的缓存层 我现在才意识到 我的图像各层的 sha 总是不同的 即使新构建的图像应该生成与之前构建的相
  • /var/lib/docker/中docker目录结构的作用

    当我启动一个新的 docker 守护进程时 docker 目录如下 var lib docker aufs diff layers mnt containers graph init dockerinit 0 7 3 linkgraph d
  • 我需要启用哪些权限才能使 Docker 卷正常工作?

    假设我有一个保存一些数据的 Docker 容器 我希望这些数据能够持续存在 如果容器被停止 删除 升级等 我仍然希望数据位于主机操作系统文件系统上的可访问位置 目前 我的解决方案是创建一个目录 srv service name在我的主机上
  • 在 docker 中根据更改重新启动 Flask 应用程序

    我正在使用 Flask script 来运行我的应用程序 if name main manager run 在 docker 中我有以下内容 CMD python manage py runserver h 0 0 0 0 p 5000 现
  • GOMAXPROCS 默认值是多少?

    不设置同名环境变量时是否保证GOMAXPROCS设置为1 此代码显示的值 package main import runtime fmt func getGOMAXPROCS int return runtime GOMAXPROCS 0
  • docker中CREATED容器是什么意思?

    我有点困惑docker容器的状态 尤其是与状态为已创建 我知道当容器正在运行状态如下所示 root labadmin VirtualBox RAGHU DOCKER docker ps CONTAINER ID IMAGE COMMAND
  • Docker - SequelizeConnectionRefusedError:连接 ECONNREFUSED 127.0.0.1:3306

    我正在尝试使用 Docker 容器启动并运行我的 Nodejs 应用程序 我不知道可能出了什么问题 当我使用控制台调试凭据时 凭据似乎已正确传递 另外启动sequel pro并使用相同的用户名和密码直接连接似乎也可行 当节点在容器中启动时
  • Docker Toolbox Windows - 无效的卷规范

    EDIT 问题是COMPOSE CONVERT WINDOWS PATHS环境变量未设置 我尝试将其添加到Dockerfile并到一个 env文件但尚未设置 我无法设置任何新的环境变量 这就像从缓存的 Dockerfile 构建它一样 我之
  • wildfly-logstash 不将日志发送到logstash

    我正在使用 jboss keycloak 11 0 2 和 wildfly logstash https github com kifj wildfly logstash https github com kifj wildfly logs
  • 有队列实现吗?

    任何人都可以建议使用 Go 容器来实现简单快速的 FIF 队列 Go 有 3 种不同的容器 heap list and vector 哪一种更适合实现队列 事实上 如果您想要的是一个基本且易于使用的 fifo 队列 slice 可以满足您所
  • 使用 Docker 在本地主机上的“requests”连接错误

    我正在尝试开发客户端服务器应用程序 但遇到了一些问题 我的两个服务都是在单独的 docker 容器中本地开发的 客户端使用 api 从 api 获取数据requestspython 库 它可以在生产中使用 但在本地 我无法使用 reques
  • 使用 Docker 文件分配附加功能

    我需要部署 Docker 映像 但我只想使用 Docker run 命令而不使用其任何参数 我想在运行容器时分配特殊权限 这是我的 Docker 运行命令 docker run cap add SYS ADMIN cap add DAC R
  • 容器中的 JVM 计算处理器错误?

    最近我又做了一些研究 偶然发现了这一点 在向 OpenJDK 团队抱怨之前 我想看看是否有其他人观察到这一点 或者不同意我的结论 因此 众所周知 JVM 长期以来忽略了应用于 cgroup 的内存限制 众所周知 现在从 Java 8 更新某
  • nslookup 报告“无法解析 '(null)': 名称无法解析”,尽管它成功解析了 DNS 名称

    我在 ubuntu 上 并且正在运行 docker 默认桥接网络 我有 Zookeeper kafka 的容器化版本 以及我编写的与 kafka 对话的应用程序 I do a docker exec it
  • 直接从一个通道发送到另一个通道

    当从一个通道直接发送到另一个通道时 我偶然发现了令人惊讶的行为 package main import fmt func main my chan make chan string chan of chans make chan chan
  • os.Mkdir 和 os.MkdirAll 权限

    我正在尝试在程序开始时创建一个日志文件 我需要检查是否 log如果不创建目录 则目录存在 然后继续创建日志文件 好吧 我尝试使用os Mkdir 也os MkdirAll 但无论我在第二个参数中输入什么值 我都会得到一个没有权限的锁定文件夹
  • 热重载在docker中运行的java程序

    我开发了一个java程序 应该在docker中运行 然而 我在调试docker中运行的java程序时遇到了很多痛苦 我在网上搜索 一些教程提出了像 spring dev tools 这样的工具 因为我的java程序是基于spring boo
  • Redis+Docker+Django - 错误 111 连接被拒绝

    我正在尝试使用 Redis 作为使用 Docker Compose 的 Django 项目的 Celery 代理 我无法弄清楚我到底做错了什么 但尽管控制台日志消息告诉我 Redis 正在运行并接受连接 事实上 当我这样做时 docker
  • ASP .NET Core 在 Heroku 上出现 System.Net.Sockets.SocketException 错误

    我正在尝试将 NET core Web API 部署到 Heroku 下面是我的Dockerfile FROM mcr microsoft com dotnet core aspnet 2 1 AS runtime WORKDIR app

随机推荐

  • 使用PowerShell创建自签名证书

    我使用与此处找到的代码类似的代码来创建在 IIS 中使用的自签名证书 http blogs technet com b vishalagarwal archive 2009 08 22 generating a certificate se
  • Haskell 函数取出最后一次出现的输入字符

    我在编写这个函数时遇到问题 该函数需要一个字符和一个字符列表 然后消除列表中该输入字符的最后一次出现 我能够使用下面的函数取出输入字符的第一次出现 fun Char gt String gt String fun c s ss s c ss
  • Xcode 8.1 推送通知在 swift 2.3 中与 firebase 集成没有得到?

    我正在使用 Xcode 8 1 和 swift 2 3 在这里我使用 firebase 集成来获取推送通知 我不知道为什么我没有收到通知 我的代码 func application application UIApplication did
  • 获取数据表中满足特定条件的行数

    我有一个数据表 dtFoo 并且想要获取满足特定条件的行数 编辑 此数据未存储在数据库中 因此不能选择使用 SQL 过去 我使用了以下两种方法来实现此目的 Method 1 int numberOfRecords 0 DataRow row
  • 关于空值的可比合同和比较合同

    Comparable合同规定e compareTo null 必须扔NullPointerException From the API http java sun com javase 6 docs api java lang Compar
  • 无法编译使用 ncurses 的 C/C++ 代码 [重复]

    这个问题在这里已经有答案了 我刚刚发现 ncurses 并且刚刚开始学习它 但是我的教程中的示例无法在我的计算机上编译 我必须手动安装 ncurses 并通过输入 apt get install libncurses5 dev libncu
  • 丰富的片段:rel="nofollow" 和 RDFa

    我在用着根据集合标记我的内容schema org http schema org 我在用RDFa精简版 http www w3 org TR rdfa lite 这样做 我现在遇到了问题rel属性 我的一些链接确实有rel nofollow
  • 使用 JUnit 测试图形生成

    我正在使用 Java 的 Graphics2D 生成图形的图形表示 我还使用 ImageIO 来编写 PNG 文件 ImageIO write image png out 我想知道应该如何编写 JUnit 测试来测试生成的图形是否符合预期
  • 使用 Intel MKL 的 3D 卷积

    我正在尝试使用 Intel 计算 3D 阵列的 3D 卷积MKL 有人可以给我一些提示吗 是否可以使用实现MKL 提前致谢 英特尔有他们页面上的示例 https software intel com en us node 4713903D
  • C# StreamReader,用于自定义分隔符的“ReadLine”

    拥有该功能的最佳方式是什么StreamReader ReadLine 方法 但带有自定义 字符串 分隔符 我想做这样的事情 String text while text myStreamReader ReadUntil my delim n
  • 如何使用提示(如简单的计算器)对数字求和? [复制]

    这个问题在这里已经有答案了 我尝试使用 JavaScript 来做一件非常简单的事情 一个百分比计算器 这是代码 var num prompt What is the number var perc prompt What is the p
  • 在 C# 中通过网络发送大文件的好方法?

    我正在尝试构建一个应用程序 该应用程序可以从网络中另一台计算机上运行的服务请求文件 这些文件可能相当大 有时 500mb 以上 我正在考虑通过 TCP 发送它 但我担心它可能需要将整个文件存储在内存中 可能只有一个客户 复制到共享目录也是不
  • 反应本机地铁是节点模块中缺少路径

    错误是这样的 Error Unable to resolve module metro src lib bundle modules HMRClient Here is additional error logs 当我必须创建一个新项目并运
  • 捕获 dll 异常后访问冲突

    我必须在运行时动态地将模块加载为 dll 因为它们事先并不知道 只是它们符合类接口 我注意到的是 在我捕获 dll 抛出的异常 在主线程的主程序中 后 会调用正确的析构函数 并销毁模块并卸载 dll 但随后作为 catch 块末尾的 当 V
  • 如何将 thenAnswer 与返回 void 的方法一起使用

    我想对以下方法进行单元测试 public void addRecord Record record Myclass newObj new Mycalss It creates newObj object set some values us
  • ORA-01000: 使用 Spring SimpleJDBCCall 时超出最大打开游标数

    我们使用 Spring SimpleJdbcCall 来调用 Oracle 中返回游标的存储过程 看起来 SimpleJdbcCall 没有关闭游标 并且在一段时间后超出了最大打开游标数 ORA 01000 maximum open cur
  • bash 中的 stdout 重定向与使用 fprintf 写入 c 中的文件(速度)

    我想知道哪个选项基本上更快 我最感兴趣的是重定向机制 我怀疑该文件是在程序启动时打开的 program gt file并在最后关闭 因此 每次程序输出一些内容时 都应该将其写入文件 就像听起来一样简单 是这样吗 那么我想这两种选择在速度方面
  • 如何为 WCF REST C# 站点设置 oAuth 身份验证

    我正在使用 VS 2010 在线模板的 WCF REST 服务模板 40 CS 制作一个网站 它工作得很好 但我需要保护它 我需要支持 Windows Linux 和 iPhone 应用程序 因此 REST oAuth 似乎是一个很好的解决
  • wp_list_comments() 不起作用

    我从头开始创建了一个自定义主题 没有什么花哨的简单主题 我目前使用的是 WordPress 3 2 1 我把wp list comments 放在comments php中来列出评论 它根本不起作用 没有显示评论 尝试将其放入 single
  • 无法启动服务应用程序:OCI 运行时创建失败:container_linux.go:349

    当我尝试使用 docker 启动 go 应用程序时遇到一些麻烦 ERROR for app Cannot start service app OCI runtime create failed container linux go 349