解决Cannot start service XX: OCI runtime create failed: container_linux.go:348问题

2023-05-16

问题描述:

最近在做一个国际化方案的时候,发现使用envsubst动态更改nginx模板中变量会报错,但是直接在镜像执行envsubst的命令是没有问题的

ERROR: for doge_viewer-dr_1  Cannot start service viewer-dr: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"envsubst '$LOCALE' < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'\": stat envsubst '$LOCALE' < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;': no such file or directory": unknown

Dockerflie如下:

FROM nginx:1.17.3-alpine

COPY ./dist/ /usr/share/nginx/html
ADD ./default.conf.template /etc/nginx/conf.d/default.conf.template


EXPOSE 80

CMD ["envsubst '$LOCALE' < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"]

解决方案:

刚开始跟着报错查问题,发现一直找不到正确的觉解方案,后来才发CMD语法用的不对,还是吃了读书少的亏啊,如果要使用上述方案的话,需要增加命令如下:

FROM nginx:1.17.3-alpine

COPY ./dist/ /usr/share/nginx/html
ADD ./default.conf.template /etc/nginx/conf.d/default.conf.template


EXPOSE 80

ENTRYPOINT [ "/bin/sh", "-c" ]
CMD ["envsubst '$LOCALE' < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"]

知识扩展:

1.ENTRYPOINT 两种写法

# exec 格式
ENTRYPOINT ["executable", "param1", "param2"]

# shell 格式
ENTRYPOINT command param1 param2

2.ENTRYPOINT 和 CMD 联合使用

  • 当指定了 ENTRYPOINT 后,CMD 的含义就发生了改变,不再是直接的运行其命令,而是将 CMD 的内容作为参数传给 ENTRYPOINT 指令
  • 换句话说实际执行时,会变成 
    <ENTRYPOINT> "<CMD>"

3.CMD 和 ENTRYPOINT 区别

CMD                   # 指定这个容器启动的时候要运行的命令,不可以追加命令
ENTRYPOINT            # 指定这个容器启动的时候要运行的命令,可以追加命令

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决Cannot start service XX: OCI runtime create failed: container_linux.go:348问题 的相关文章

  • 运行时 SQL 查询生成器

    我的问题类似于 Java中有什么好的动态SQL生成器库吗 https stackoverflow com questions 5620985 is there any good dynamic sql builder library in
  • C# DLL 运行时错误 - 构建、运行,但在尝试使用 DLL 函数时抛出未处理的异常

    我正在尝试编译所示的示例项目here http www ftdichip com Support SoftwareExamples FTDIChip ID htm对于 C 它必须转换为 VS2010 但效果很好 它会构建 运行 但当它尝试访
  • Android - 为服务实现startForeground?

    所以我不确定在哪里 如何实现此方法以使我的服务在前台运行 目前我在另一项活动中通过以下方式开始我的服务 Intent i new Intent context myService class context startService i 然
  • 无法从 AsyncTask 启动服务

    我正在尝试从 AsyncTask 启动服务 但看不到它的启动 我还在清单文件中添加了服务 这里是代码 protected Integer doInBackground Void values throws InterruptedExcept
  • 本地计算机上的服务启动然后停止,某些服务如果没有被其他服务或程序使用则自动停止

    我创建了一个示例 Windows 服务并成功安装了我的服务 但是在要启动服务时 我收到以下错误 本地计算机上的此服务启动然后停止 如果其他服务或程序未使用某些服务 则会自动停止 我的配置文件代码
  • 以编程方式创建表

    我正在开发 devexreport 我想以编程方式创建一个表 我使用这些代码 但有一个小问题 DevExpress XtraReports UI XRTable tbl new XRTable DevExpress XtraReports
  • C# 构建一个 webservice 方法,它接受 POST 方法,如 HttpWebRequest 方法

    我需要一个接受 POST 方法的 Web 服务 访问我的服务器正在使用 POST 方法 它向我发送了一个 xml 我应该用一些 xml 进行响应 另一方面 当我访问他时 我已经使用 HttpWebRequest 类进行了管理 并且工作正常
  • 使用taskkill停止Windows服务

    我需要帮助来使用 C 终止 Windows 服务 现在要终止该服务 请使用以下选项 从命令 sc queryex ServiceName 发现后PID服务的 taskkill pid 1234 exemple f 为了便于阅读 但如果您明白
  • 无法启动 Windows 服务,错误 1064

    我编写了一个在 Win10 上运行的 Windows 服务 它运行得非常好 直到我决定对其进行一些更改 我重写了一些逻辑 在调试和发布配置中进行了测试 一切都很好 然后 我使用卸载了当前版本的服务installutil exe u serv
  • @Autowire注释的问题(空)

    我在验证器类中自动连接的两个服务有问题 这些服务工作正常 因为在我的控制器中是自动连接的 我有一个 applicationContext xml 文件和 MyApp servlet xml 文件 我的基础包是 es unican meteo
  • 如何调试symfony2服务容器中配置的标签和服务?

    我正在编写一个服务来处理 AccessDeniedException 并且我找到了一种方法来解决它使用 Symfony2 的 AccessDeniedHandlerInterface https stackoverflow com ques
  • 更改 TFS 构建代理的身份

    我们有一个运行集成测试的 TFS 构建代理 其中一些测试会调用 Internet 上的 Web 服务 我们的网络使用代理与互联网通信 由于构建代理在网络服务上的身份下运行 并且网络服务的设置未配置为使用代理 因此测试失败 我该如何执行以下操
  • 将 .NET 类库(主要定义 CRUD 操作)公开为服务

    公开现有内容的最佳 有效和最快的方法是什么 类 图书馆 主要定义 CRUD 操作 作为service 周转基金服务 or WCF数据服务 以便它可以与银光 or Ajax 在那儿tools 代码生成器 RAD 工具 哪些可以支持这个 预先感
  • C++ 仪器(诊断)库

    我正在考虑向我的应用程序添加代码 以收集诊断信息以供以后检查 是否有为此目的创建的 C 库 我想做的与分析类似 但又不一样 因为收集的数据将更多地用于调试而不是分析 EDIT 平台 Linux要收集的诊断信息 由应用程序逻辑 各种断言和统计
  • 如何在开头时解析 json 文件

    我想解析以下 JSON 文件 但以 向我表明这是一个数组 然后继续 对象 我当前的解析器返回一个 JSON 对象 我的问题是 如何修改解析器来解析这个文件 这样解析器将为我提供其他 JSON 文件 从对象或排列开始 JSON 文件 codi
  • 即使提供了通知,也无法在前台服务中运行蓝牙扫描超过 10 - 15 秒

    即使应用程序关闭 我也使用服务来保留对 Android 手机的扫描 我使用广播接收器在被杀死时重新启动我的服务 它会重新启动扫描 并且只工作大约 15 秒 然后停止 当我单击 MainActivity 中的 button1 时 我启动了服务
  • 停止或终止服务

    我正在开发一个任务管理器应用程序 在该应用程序中 我向用户显示正在运行的应用程序列表以及每个应用程序旁边的终止按钮 当用户按下终止按钮时 相应的活动将被终止 我使用了 activitymanager killbackgroundproces
  • Android 在启动时启动服务,如何在设备重启后重新启动服务类?

    我需要在启动时启动一项服务 我搜索了很多 他们正在谈论广播接收器 由于我是 Android 开发新手 所以我对 Android 上的服务并没有清楚的了解 请提供一些源代码 您的接收者 public class MyReceiver exte
  • FORTRAN:数据多态

    我试图隐藏真实数据类型和复杂数据类型之间的差异 在 FORTRAN 2003 中 我认为可能有一种方法可以做到这一点 目标是定义一个多态可分配数组 其类型可以在运行时决定 另外 还有一个子例程 它使用多态数组来做一些代数 相同的方程适用于真
  • Angularjs 手表服务对象

    为什么我无法观看服务中的对象 我有一个简单的变量可以工作 但是一个对象不能工作 http plnkr co edit S4b2g3baS7dwQt3t8XEK p preview http plnkr co edit S4b2g3baS7d

随机推荐

  • CentOS7搭建Samba共享文件夹 设置无密码登录

    搭建之前 xff1a 关闭防火墙 CentOS7默认的防火墙不是iptables xff0c 而是firewalle 停止firewalld服务 systemctl stop firewalld 禁用firewalld服务 systemct
  • 查看 openstack 组件日志

    openstack 部署方式 kolla ansible 使用 kolla ansible 部署方式时 xff0c 所有组件的日志文件会外挂到宿主机上 xff08 都是使用容器启动的 xff09 xff0c 可以在相应节点的 var log
  • 15th 【最短路 dijkstra】最小花费

    最小花费 在n个人中 xff0c 某些人的银行账号之间可以互相转账 这些人之间转账的手续费各不相同 给定这些人之间转账时需要从转账金额里扣除百分之几的手续费 xff0c 请问A最少需要多少钱使得转账后B收到100元 输入文件 第一行输入两个
  • 使用VNC远程登录百度智能云服务器

    使用VNC服务远程登录对浏览器有一定的要求 xff0c 现在只支持如下版本的浏览器 xff0c 使用之前注意VNC页面的提示 浏览器名称版本Google Chrome16 43 Firefox3 6 43 iOS Safari6 1 43
  • Linux环境下为普通用户添加sudo权限

    系统环境 xff1a Centos6 5 1 背景 xff1a sudo是Linux系统管理指令 xff0c 是允许系统管理员让普通用户执行一些或者全部root命令的一个工具 Linux系统下 xff0c 为了安全 xff0c 一般来说我们
  • 利用jquery实现当前时间动态显示

    html代码 xff1a lt div id 61 34 time 34 gt lt div gt jQuery代码 lt script type 61 34 text javascript 34 gt setInterval functi
  • Turtlebot3 Gazebo仿真环境下深度强化学习DQN开发环境构建

    1 Anaconda2 安装 2 Tensorflow安装 ubuntu18系统anaconda安装tensorflow qq 39429669的博客 CSDN博客 3 下载并编译源码 本文先使用github中开源的机器学习的源码进行学习
  • Python数据挖掘 - 第一部分

    文章目录 第一章 数据挖掘库的安装第二章 Matplotlib2 1 matplotlib简介2 2 折线图 xff08 plot xff09 与基础绘图功能2 3 散点图 xff08 scatter xff09 2 4 柱状图 xff08
  • TortoiseGit解决冲突

    TortoiseGit解决冲突 问题概述场景重现解决冲突 问题概述 在项目实施过程中 xff0c 多人维护同一份文件或代码时经常会在本地Commit完再从远程仓库Pull时出现冲突 这时需要保留自己的内容 xff0c 同时也保留远程仓库原来
  • axios的简单封装

    前言 在每次使用原装的axios发送 http请求时 如果需要token验证 xff0c 则都需要创建拦截器 xff0c 添加 39 token 39 请求头 xff0c 或者在config中具体的请求体中添加 xff0c 是一个非常麻烦的
  • 【操作系统】RT-Thread 入门学习

    一 嵌入式操作系统 1 1 软实时与硬实时 强实时操作系统 xff1a 严格限定在规定时间内完成任务 xff0c 否则就会导致灾难性的发生 xff0c 例如导弹拦截系统 汽车引擎系统等 弱实时操作系统 xff1a 可以允许偶尔出现一定的时间
  • windows10安装NVIDIA显卡驱动+cuda10.0教程

    windows10安装NVIDIA显卡驱动 43 cuda10 0教程 1 安装个鲁大师2 确定本机是否支持GPU加速3 更换至匹配的显卡驱动4 下载和安装cuda和cudnn5 验证6 游戏加速7 分享个漂亮的壁纸 1 安装个鲁大师 查看
  • 生成小批量数据集

    shell脚本随机筛选一个目录下后缀为2 4 6 8的 mp4文件 span class token function find span mnt sdb dataset 20181217 RX5 zheA5MV46 name mp4 sp
  • mapreduce二次排序案例

    为什么需要二次排序 在MapReduce操作时 xff0c 我们知道传递的 lt key value gt 会按照key的大小进行排序 xff0c 最后输出的结果是按照key排过序的 有的时候我们在key排序的基础上 xff0c 对valu
  • 浏览器缓存致使修改的样式不生效,解决方式

    我们使用缓存的资源越多 xff0c 网站的响应能力和性能就会越好 为了优化缓存 xff0c 过期时间设置得尽量长是一种很好的策略 对于定期或者频繁更新的资源 xff0c 这么做是比较稳妥的 xff0c 但是对于那些长期不更新的资源会有点问题
  • 数据清洗的步骤

    1 数据清洗的基本过程 S1 xff1a 数据分析 在数据清洗之前 xff0c 对数据分析 xff0c 对数据质量问题有更为详细的了解 xff0c 从而选择更好的清洗方案 S2 xff1a 定义清洗规则 通过数据分析 xff0c 掌握了数据
  • html前端之css绘制形状

    纯CSS绘制的图形 xff0c 有最简单的矩形 圆形和三角形 xff0c 也有各种常见的多边形 xff0c 甚至是阴阳太极和网站小图标 xff0c 非常强大 Square 正方形 square width 100px height 100p
  • 解决docker 运行standard_init_linux.go:219: exec user process caused: exec format error报错

    使用mac M1 build image 在linux上运行会报standard init linux go 219 exec user process caused exec format error 这个问题出现的主要原因是golang
  • 解决upstream prematurely closed connection while reading response header from upstream问题(nginx)

    问题描述 xff1a 使用docker部署了前端和nginx 前端有需求要使用websocket 所以在nginx中配置了websocket转发 xff0c 配置如图 xff1a server listen 80 server name 1
  • 解决Cannot start service XX: OCI runtime create failed: container_linux.go:348问题

    问题描述 xff1a 最近在做一个国际化方案的时候 xff0c 发现使用envsubst动态更改nginx模板中变量会报错 xff0c 但是直接在镜像执行envsubst的命令是没有问题的 ERROR for doge viewer dr