nerdctl容器客户端:基于containerd
·
一、nerdctl 是什么?
nerdctl 是一个和 Docker CLI 用法高度兼容的容器命令行工具,但它是基于 containerd 的。
简单理解:
🐳 Docker = Docker CLI + Docker Engine(底层也是 containerd)
⚙️ nerdctl = 直接对接 containerd 的 CLI 工具
☸️ 在 Kubernetes / k8s 环境中,containerd 很常见,所以 nerdctl 很有用
二、nerdctl 和 Docker 的关系
| 对比项 | Docker | nerdctl |
|---|---|---|
| 底层运行时 | containerd | containerd |
| 守护进程 | dockerd | containerd |
| CLI兼容性 | 官方 | 高度兼容 docker |
| Kubernetes 适配 | 已逐步弱化 | 原生友好 |
| rootless | 支持 | 支持更好 |
在很多云原生环境(尤其是 Kubernetes 使用 containerd 作为 CRI)下,nerdctl 是非常好的替代工具。
三、常用命令(和 Docker 基本一致)
1️⃣ 拉取镜像
nerdctl pull nginx
2️⃣ 查看镜像
nerdctl images
3️⃣ 运行容器
nerdctl run -d nginx
带端口映射:
nerdctl run -d -p 8080:80 nginx
使用 host 网络(你之前问过):
nerdctl run -d --network host nginx
4️⃣ 查看运行中的容器
nerdctl ps
查看全部:
nerdctl ps -a
5️⃣ 进入容器
nerdctl exec -it <container_id> /bin/bash
6️⃣ 停止 & 删除容器
nerdctl stop <container_id>
nerdctl rm <container_id>
7️⃣ 删除镜像
nerdctl rmi <image_id>
更多推荐
所有评论(0)