小编ane*_*yte的帖子

OCI 运行时执行失败:执行失败:container_linux.go:349:启动容器进程导致“执行:

我已经使用我们的应用程序创建了映像,运行该映像后,我可以看到 docker 容器也已创建,当我尝试进入 docker 容器时,我收到以下错误,您可以在这里帮助我吗?

“”“”OCI运行时执行失败:执行失败:container_linux.go:349:启动容器进程导致“执行:”bash“:在$ PATH中找不到可执行文件”:未知“”“”

我尝试执行以下所有命令

 docker run -it exec 962f5d99458c
 docker run -it 962f5d99458c
 docker exec -it 962f5d99458c /bin
 docker exec -it 75f6cb44f9e1
 docker run --rm -ti 962f5d99458c sh
 docker run --rm -ti 962f5d99458c /bin
 docker exec  --rm -ti 962f5d99458c /bin
 docker exec  -ti 962f5d99458c /bin
 docker exec  -ti 962f5d99458c \bin
 docker exec -it 75f6cb44f9e1 bash
Run Code Online (Sandbox Code Playgroud)

但运气不好......你能在这里帮助我吗?

containers image exec docker

13
推荐指数
1
解决办法
2万
查看次数

将 LetsEncrypt 文件复制到 docker 容器

我不是 docker 专家,我只是在习惯它。我想将主机上生成的 ssl 证书复制到我的 docker 容器中。我读到它应该能够处理volumesdocker-compose 文件中的参数,但启动我的服务器时它总是令人兴奋,因为它无法在工作目录中找到复制的文件。

文件夹结构

- repo
   - backend
      - api
         - static
            - ssl
         - dockerfile
   - frontend
   - docker-compose.yml
Run Code Online (Sandbox Code Playgroud)

Dockerfile

FROM node:14-alpine

ENV NODE_ENV=production SERVER_PORT_HTTP=80 SERVER_PORT_HTTPS=443

WORKDIR /usr/src/app

RUN npm install

COPY . .

EXPOSE ${SERVER_PORT_HTTP} ${SERVER_PORT_HTTPS}

CMD [ "npm", "run", "start" ]
Run Code Online (Sandbox Code Playgroud)

Docker-Compose

version: "3"

services:
  api:
    build:
      context: ./backend/api
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /etc/letsencrypt/live/api.example.com:/static/ssl
    restart: unless-stopped
Run Code Online (Sandbox Code Playgroud)

docker docker-compose lets-encrypt certbot

5
推荐指数
1
解决办法
3540
查看次数

container_memory_rss 与使用的节点内存的关系

我试图理解与node_memory_used有关的container_memory_rss或container_memory_working_set_bytes ,即(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes

这就是我的意思

PROMQL 1:

sum(container_memory_rss) by (instance) / 1024 / 1024 / 1024

{instance="172.19.51.8:10250"}        7.537441253662109
Run Code Online (Sandbox Code Playgroud)

PROMQL 2:

sum(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) by (instance) / 1024 / 1024 / 1024

{instance="172.19.51.8:9100"}         2.2688369750976562
Run Code Online (Sandbox Code Playgroud)

PROMQL 3:

sum(container_memory_working_set_bytes) by (instance) / 1024 / 1024 / 1024

{instance="172.19.51.8:10250"}        9.285114288330078
Run Code Online (Sandbox Code Playgroud)

PROMQL 4:

sum(node_memory_MemAvailable_bytes) by (instance) / 1024 / 1024 / 1024

{instance="172.19.51.8:9100"}         13.356605529785156
Run Code Online (Sandbox Code Playgroud)

所以如果一个 Pod 总是运行在一个 Node 上。我无法理解为什么container_memory_rsscontainer_memory_working_set_bytes大于node_memory_used

即 PROMQL 1 和 PROMQL 3 的值远大于 …

kubernetes prometheus cadvisor kubernetes-pod

5
推荐指数
1
解决办法
1714
查看次数

docker-compose 失败时重新启动

我想在容器停止运行时自动重新启动容器(而不是运行图像)。

我看到的所有示例都提到了docker run,但我只想重新启动以前创建的容器。

我尝试将以下内容添加到 yml 文件中的服务定义中,但它没有执行任何操作:

restart: always
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

3
推荐指数
2
解决办法
3万
查看次数

Prometheus 抓取带有斜杠的配置标签

尝试过滤掉一些带有relabel_config. 在目标上我有一个app.kubernetes.io/name值为 的标签kube-state-metrics

当我设置时,relabel-configs我意识到根据Prometheus 文档., 和是无效的。我收到错误消息,抱怨这些无效字符。除了向该服务添加新标签之外,这是否可以按照其设定的方式实现?大多数 Helm 图表都使用这种标签约定,因此为所有内容添加额外标签将需要大量工作,希望避免这种情况。/

relabel_configs:
   - source_labels: [app.kubernetes.io/name]
     action: keep
     regex: kube-state-metrics 
Run Code Online (Sandbox Code Playgroud)

kubernetes prometheus

2
推荐指数
1
解决办法
2511
查看次数