登录
首页 >  Golang >  Go问答

Docker-CE中containerd/runc源代码存放位置是哪里?

来源:stackoverflow

时间:2024-02-26 14:18:23 232浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个Golang开发实战,手把手教大家学习《Docker-CE中containerd/runc源代码存放位置是哪里?》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

问题内容

我正在尝试调试 docker(包括所有内容,docker、dockerd、containerd、runc),并从 github/docker/docker-ce 克隆源代码。

现在我可以找到以下内容的源代码:

  • docker (docker-cli):位于组件/cli
  • dockerd:位于组件/引擎/守护进程

在 docker-ce 的仓库中并成功 make 它们。

但是我在 docker-ce 仓库中找不到 containerdrunc 的代码,而触发 make 命令时有它们的二进制文件。

那么二进制文件从哪里来呢?

我知道有 containerdrunc 的存储库。


解决方案


这是我自己的快速扫描发现。 Makefile for components/engine 包含各种步骤,包括 docker 构建。

Dockerfile 包含 containerd 和 runc 部分:

FROM base AS containerd
RUN apt-get update && apt-get install -y btrfs-tools
ENV INSTALL_BINARY_NAME=containerd
COPY hack/dockerfile/install/install.sh ./install.sh
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
RUN PREFIX=/build/ ./install.sh $INSTALL_BINARY_NAME

FROM runtime-dev AS runc
ENV INSTALL_BINARY_NAME=runc
COPY hack/dockerfile/install/install.sh ./install.sh
COPY hack/dockerfile/install/$INSTALL_BINARY_NAME.installer ./
RUN PREFIX=/build/ ./install.sh $INSTALL_BINARY_NAME

然后在dockerfile的hack文件夹中,有安装containerdrunc的脚本。

这些脚本克隆存储库并从 containerdrunc 的上游存储库中签出特定提交。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>