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命令查看,设置自动启动

相关推荐
我怎么又饿了呀几秒前
CentOs 10 虚拟机安装【解决方法】VMware无法打开内核设备,未能启动虚拟机
linux·运维·centos
冰冰的coco6 分钟前
如何设置需要sudo的命令开机自启动
linux·运维·服务器
辞旧 lekkk7 分钟前
【Linux】Linux进程控制(三)自主实现简易shell命令行解释器
linux·运维·服务器·学习·萌新
HIT_Weston19 分钟前
119、【Ubuntu】【Hugo】首页板块配置:Template Lookup Order
linux·运维·ubuntu
wangt595222 分钟前
Ubuntu22.04.5的网络配置在重启后被重置的问题
linux·运维·服务器
不被定义的程序猿23 分钟前
如何使用docker搭建一个 aarch-linux-gun-gcc的交叉编译环境
linux·运维·服务器
RisunJan25 分钟前
Linux命令-logrotate(自动轮转、压缩、删除和邮件发送日志文件)
linux·运维·服务器
chao_78931 分钟前
双设备全栈开发最佳实践[mac系统]
git·python·macos·docker·vue·全栈
ALGO阿狗41 分钟前
一款简单易用的远程日志查看器,可实时查看云服务器上的日志数据
运维·服务器·日志
微露清风44 分钟前
系统性学习Linux-第三讲-进程概念
linux·运维·学习