WSL2用docker daemon(不用桌面版本的)麻烦吗?

wsl2安装

按照微软的指导文档,安装基本没问题。

docker安装

bash 复制代码
sudo apt-get update # 更新内核
sudo apt-get install ca-certificates curl gnupg #安装依赖

# 导入 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# docker仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update # 更新内核

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo service docker start

# 安装docker
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

使用apt,替换 /etc/apt/sources.list,改成国内源即可加速,安装依赖,添加docker官方 GPG 密钥

至此,docker就可以用了! 比如:docker pull alpine

但是真的好用吗?

由于 docker.io 的访问不会那么流畅

几个踩坑点记录:

国内源替换,获得正常使用docker体验

bash 复制代码
$ cat /etc/docker/daemon.json
#在这里可以添加你喜欢的国内源:大公司的、一些云厂的
{
  "registry-mirrors": ["https://docker.xuanyuan.me"]
}

坑点:加速不可用

docker启动报错

bash 复制代码
sudo journalctl -u docker.service 

failed to start daemon: Error initializing network controller: error creating default "bridge" network: COMMAND_FAILED: 'python-nftables' failed: internal:0:0-0: Error: Could not process rule:  No such file or directory

临时解决:

{

"registry-mirrors": "...",

"experimental": true,

"iptables": false

}

根据错误提示,卸载了nftable,安装python3-nftables,将会一直导致上诉docker启动报错

临时解决的 "experimental": true 不可用加速

需重装nftables(ubuntu的新的防火墙,替换fwd),使用nft命令查看,设置自动启动

相关推荐
.冰块.3 分钟前
VMware+Ubuntu24.04 kubeadm 部署 K8s 1.30.2 三节点集群
运维·云原生·容器·kubernetes·k8s·容器编排
Vitaliy Kostrov(柯维远)3 分钟前
客户端如何检查直播流:从流内标记到停止播放
android·运维·服务器·驱动开发·网络安全·系统架构·cdn
软件工程师文艺3 分钟前
PLM系统的下一个十年:从MBD模型定义到产线仿真的技术路线拆解
运维·服务器·网络
有为少年12 分钟前
容器内存显示 100%、进程莫名被 Killed 解决方案
机器学习·容器·模型训练·模型推理
禁默25 分钟前
玩客云部署EasyVoice实战:HiNas、Docker、ARMv7、9001与固定地址访问(1)
docker·容器·语音识别·cpolar
Brilliantwxx36 分钟前
【Linux】IO(上)全篇:文件本质、C 接口、系统调用与文件描述符
linux·运维·服务器·c语言
北风toto37 分钟前
Linux 服务器通过 tgz 离线部署 Docker
linux·服务器·docker
古法老登瞎折腾38 分钟前
大数据智能运维实战(三):实现第一个运维 MCP 工具——查询节点与组件状态
java·大数据·运维·人工智能·spring ai·mcp
fengkai454539 分钟前
2、Kubernetes 介绍+安装+卸载
运维·容器·kubernetes
重生之小比特40 分钟前
【Linux系统】13 基础IO(上)
linux·运维·服务器