问题标签 [containerd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
207358 浏览

linux - Docker 容器的运行时性能成本是多少?

我想全面了解一个 Docker 容器的运行时性能成本。我发现对网络的引用据说慢了约 100µs

我还发现对运行时成本的引用“可以忽略不计”和“接近于零”,但我想更准确地知道这些成本是什么。理想情况下,我想知道 Docker 以性能成本抽象了什么,以及在没有性能成本的情况下抽象的东西。网络、CPU、内存等

此外,如果有抽象成本,有没有办法绕过抽象成本。例如,也许我可以直接挂载磁盘而不是在 Docker 中虚拟挂载。

0 投票
2 回答
5205 浏览

linux - 连接containerd失败:拨号失败

刚刚按照 Ubuntu 14.04 中的存储库的官方说明安装了 Docker CE

安装成功,守护进程正在运行

我的用户在 docker 组中:

cli 似乎无法通信(与 sudo 相同)

套接字似乎具有正确的权限:

该日志似乎声称有关一些问题

无法连接到 containerd:无法拨打“/var/run/docker/containerd/docker-containerd.sock”:拨打 unix:///var/run/docker/containerd/docker-containerd.sock:超时 /var/ run/docker.sock is up time="2018-02-04T16:22:21.031459040+01:00" level=info msg="libcontainerd: started new docker-containerd process" pid=17147 INFO[0000] 开始 containerd 模块=容器修订=89623f28b87a6004d4b785663257362d1658a729 版本=v1.0.0 INFO[0000] 设置子收割机...模块=容器容器:无效参数时间=“2018-02-04T16:22:21.056685023+01:00”级别=错误消息=“容器确实”未成功退出”error="exit status 1" module=libcontainerd

有什么建议可以完成这项工作吗?


Relog 和 Docker 重启当然已经完成

0 投票
1 回答
413 浏览

docker - docker和cricontainerd可以共存吗

我有一个同时安装dockercri-containerd安装的节点。当我什么都不做docker ps时,会crictl ps列出一些容器。任何人都可以详细解释这些命令有何不同。我也ctr安装了。 ctr containers list也没有列出任何容器。

0 投票
1 回答
2042 浏览

elasticsearch - 弹性搜索:弹性搜索过程的最大文件描述符[1024]太低,增加到至少[65536]

当我尝试运行日志聚合时,我发现 elasticsearch 生成以下错误:

顺便说一句,我在 Ubuntu 机器 16.04 上使用 cri-containerd 在 minions 上运行 kubernetes 集群 v1.8.0,在 master 上运行 1.9.0。

任何帮助将不胜感激。

0 投票
2 回答
100 浏览

docker - 在 Docker 托管插件中运行 systemd

您如何systemdDocker 托管插件中运行?使用普通容器,我可以运行centos/systemd并使用他们的示例 Dockerfile 运行 Apache 服务器

并按如下方式运行

但是,当我尝试制作托管插件时,cgroups 存在一些问题

我试过把config.json

我还尝试了以下方法,这会损坏主机的 cgroup,这可能需要硬重启才能恢复。

它看起来与 opencontainer 和 moby 的交互方式有关https://github.com/moby/moby/issues/36861

0 投票
1 回答
5095 浏览

kubernetes - kube-dns getsockopt 没有路由到主机

我正在努力了解如何在 kubernetes 1.10 上使用 flannel 正确配置 kube-dns,并将 containerd 作为 CRI。

kube-dns 无法运行,出现以下错误:

确实没有到 10.96.0.1 端点的路由:

什么负责配置集群服务地址范围和关联路由?是容器运行时、覆盖网络(在本例中为 flannel)还是其他什么?应该在哪里配置?

配置主机和我的 pod 网络之间的10-containerd-net.conflist网桥。服务网络也可以在这里配置吗?

编辑:

从 2016 年开始就遇到了这个问题:

截至几周前(我忘记了发布,但它是 1.2.x,其中 x != 0)(#24429)我们修复了路由,以便到达以服务 IP 为目标的节点的任何流量都将被处理为如果它来到一个节点端口。这意味着您应该能够将您的服务集群 IP 范围的静态路由设置为一个或多个节点,并且这些节点将充当桥接器。这与大多数人使用法兰绒搭接覆盖层的技巧相同。

它不完美,但它有效。如果您想要最佳行为(即不丢失客户端 IP),将来需要更精确地使用路由,否则我们将看到更多的非 kube-proxy 服务实现。

这仍然相关吗?我需要为服务 CIDR 设置静态路由吗?还是问题实际上与kube-proxy法兰绒或容器有关?

我的法兰绒配置:

和 kube-proxy:

编辑:

看了kube-proxy调试步骤,好像kube-proxy联系不上master。我怀疑这是问题的很大一部分。我在 HAProxy 负载均衡器后面有 3 个控制器/主节点,它绑定到192.168.160.1:6443并转发循环到10.240.0.1[1|2|3]:6443. 这可以在上面的输出/配置中看到。

kube-proxy.service,我已经指定--master=192.168.160.1:6443。为什么尝试连接到端口 443?我可以改变这个 - 似乎没有端口标志吗?出于某种原因,它是否需要使用端口 443?

0 投票
1 回答
113 浏览

docker - 当 `-e` 环境变量被传递到 docker 容器中时,幕后会发生什么?

作为一个实验,我以两种方式在我的 Docker 容器中设置环境变量:使用该-e选项,以及使用environment安装/etc/environment在容器内的文件。该文件有一行:

我的docker run命令:

当我运行时,docker exec b20543b507e3 cat /etc/environment我确实看到该文件已正确安装并包含我的值,但是我只FROM_CMD_LINE在运行时看到 set printenv,所以我的 /etc/environment 文件似乎被忽略了。

我的问题不仅仅是为什么 /etc/environment 在我的 ubuntu:14.04 docker 映像中不起作用?. 我正在寻找一个答案来解释 Docker 为设置进程环境所做的工作,以使通过传递-e给容器中所有正在运行的进程的自定义环境变量可用,所以我希望能理解为什么/etc/environment在容器中被忽略.

我正在使用的相关运行时详细信息粘贴在下面。

查看 18.03.1-ce的发行说明:

Containerd:更新到 1.0.3 版本moby/moby#36749

我正在挖掘containerd源代码,但我希望已经熟悉容器运行时的人可以帮助我。

0 投票
2 回答
1031 浏览

jenkins - 带有 containerd 的 Jenkins Kubernetes 插件

我目前在我的内部使用一个 podtemplate(见下文)Jenkinsfile来配置一个 docker 容器,该容器安装到 docker 套接字以在管道中配置容器。

由于我使用的云托管 kubernetes 正在从 dockerd 到 containerd 作为容器运行时,我想问是否有人将 containerd 与 jenkins kubernetes 插件(尤其是 podtemplates)一起使用。

0 投票
2 回答
1206 浏览

docker - `docker start` 并行?

我在单个 Docker 网络上启动了 1000 个容器,所有容器都来自同一个 Docker 映像。

目前部署需要很长时间。我已经将这个过程分成docker createand docker start,而不是整体的docker run.

有什么方法可以并行旋转容器吗?- 乐于在编程界面(Go、C 等)中工作,或使用 CLI 命令。

相关:Docker Engine 可以并行启动容器吗[3 年前问过并回答过]

0 投票
2 回答
2408 浏览

docker - 使用 containerd 在 Kubernetes 中运行 docker

由于 K8S v1.11 运行时已从 dockerd 更改为 containerd。我在 kubernetes 上使用 Jenkins 来使用 Docker 之外的 Docker 构建 docker 映像(dood)。

当我尝试使用常规 docker 客户端切换到使用来自 conatinerd 的套接字文件(containerd/containerd.sock 映射广告 /var/run/docker.sock)时,出现以下错误Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/json: net/http: HTTP/1.x transport connection broken: malformed HTTP response "\x00\x00\x00\x04\x00\x00\x00\x00\x00".

docker客户端可以和containerd一起使用吗?