惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
月光博客
月光博客
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
B
Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
美团技术团队
Y
Y Combinator Blog
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
爱范儿
爱范儿
B
Blog RSS Feed
V
Visual Studio Blog
MyScale Blog
MyScale Blog

i4T

OpenClaw在Macmini下网络HTTPS_Proxy代理配置 | i4T 容器化部署OpenClaw授权View权限对Kubernetes集群进行巡检故障排查 | i4T 初试VictoriaLogs集群采集Kubernetes Pod日志 | i4T Kubernetes 部署Elasticsearch为WordPress提供文章搜索 | i4T Kubernetes使用Prometheus监控爱快路由器iKuai_Exporter | i4T RustDesk API集成Authentik ODIC单点登录 | i4T Kubernetes 部署RustDesk API实现专业版功能及管理Web UI | i4T 使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接 | i4T Authentik 集成群晖Synology DSM 实现单点登录 | i4T Authentik 集成Kubernetes Grafana 实现SSO单点登录 | i4T Authentik 集成接入VMware vCenter 8.0.3实现ldP身份提供商登录 | i4T Kubernetes v1.29.9部署Authentik 统一认证平台并接入Harbor | i4T 二进制Kafka_2.13-3.9.0集群开启并配置ACL用户授权 | i4T R730 ESXI 8.0平台PCI直通2080Ti 实现Windows远程游戏以及AI模型 | i4T Dell R730虚拟化ESXI8.0.3平台使用丽台Tesla V100配置vGPU | i4T Kubernetes使用HostAliases手动为容器Pod添加hosts解析 | i4T Nginx 使用resolver变量实现动态DNS解析配置 | i4T Kubernetes LoadBalancer负载均衡外部访问方案MetalLB | i4T Kubernetes 1.29.0 部署配置Ingress-nginx-controller | i4T Ubuntu环境下Docker Compose配置Harbor开机自启 | i4T Dell PowerEdge R730更新iDRAC8版本 | i4T Kubernetes部署RedisShake实现Redis哨兵异地灾备 | i4T Kubernetes部署开源Excalidraw实现在线绘图 | i4T Kubernetes部署DNSmgr聚合公网DNS多平台域名解析系统及SSL自续签 | i4T Kubernetes Grafana数据从Sqlite3迁移到MySQL | i4T 宝塔内网Nginx获取公网宝塔Nginx用户真实IP | i4T 基于Kubernetes Categraf SNMP插件采集Dell R730服务器硬件并使用Grafana监控 | i4T Kubernetes v1.29.9安装Grafana 12并开启匿名访问 | i4T Containerd 配置免费镜像加速源 | i4T
Docker集成Containerd实现容器管理 | i4T
https://i4t.com/users/auuAwtzuk · 2025-07-03 · via i4T

目前Kubernetes大部分工具安装的场景中,已经不为节点单独安装Docker。我们很多场景还是需要使用Docker,这里我们安装Docker来集成Containerd

本次模拟环境为Ubuntu 22.04

设置Docker源

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

国内网络源

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

# step 2: 信任 Docker 的 GPG 公钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Step 3: 写入软件源信息
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Step 4: 安装Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装Docker

apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

具体Docker安装可查阅官网https://docs.docker.com/engine/install/

修改Docker配置文件

编辑Docker启动文件

vim /usr/lib/systemd/system/docker.service

#修改前
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

#修改后
ExecStart=/usr/bin/dockerd --containerd  /run/containerd/containerd.sock --debug

完整配置文件如下

Docker集成Containerd实现容器管理

重启Docker

systemctl daemon-reload
systemctl restart docker

验证效果

运行nginx容器

root@k8s-master-01:~# docker run -d dockerproxy.frps.fun/library/nginx:latest

查看docker ps

root@k8s-master-01:~# docker ps
CONTAINER ID   IMAGE                                       COMMAND                  CREATED          STATUS         PORTS     NAMES
800d2d287d85   dockerproxy.frps.fun/library/nginx:latest   "/docker-entrypoint.…"   11 seconds ago   Up 9 seconds   80/tcp    hopeful_satoshi

ctr查看containerd是否添加一个新的namespace

root@k8s-master-01:~# ctr namespace ls
NAME   LABELS
k8s.io
moby

可以看到ctr里面的容器就是Docker ps查看到的

root@k8s-master-01:~#  ctr -n moby c ls
CONTAINER                                                           IMAGE    RUNTIME
800d2d287d85623269554ba27cd41a48ba514c73ba93eae506664e29e6f1205e    -        io.containerd.runc.v2

root@k8s-master-01:~# docker ps
CONTAINER ID   IMAGE                                       COMMAND                  CREATED              STATUS              PORTS     NAMES
800d2d287d85   dockerproxy.frps.fun/library/nginx:latest   "/docker-entrypoint.…"   About a minute ago   Up About a minute   80/tcp    hopeful_satoshi

此时Docker创建的容器就可以使用ctr进行管理,并且调用的是Containerd服务

个人中心

购物车

优惠劵

今日签到

有新私信 私信列表

搜索

幸运之星正在降临...

点击领取今天的签到奖励!

恭喜!您今天获得了{{mission.data.mission.credit}}积分

  • 限制以下商品使用: 限制以下商品分类使用: 不限制使用:

    所有商品和商品类型均可使用