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

相关推荐
kjl53656613 分钟前
docker命令
运维·docker·容器
野熊佩骑14 分钟前
CentOS7二进制安装包方式部署K8S集群之ETCD集群部署
运维·数据库·云原生·容器·kubernetes·centos·etcd
小白银子4 小时前
零基础从头教学Linux(Day 45)
linux·运维·junit·openresty
半梦半醒*5 小时前
nginx反向代理和负载均衡
linux·运维·nginx·centos·tomcat·负载均衡
喜欢你,还有大家5 小时前
集群的概述和分类和负载均衡集群
运维·负载均衡
liu****5 小时前
负载均衡式的在线OJ项目编写(六)
运维·c++·负载均衡·个人开发
Elastic 中国社区官方博客7 小时前
CI/CD 流水线与 agentic AI:如何创建自我纠正的 monorepos
大数据·运维·数据库·人工智能·搜索引擎·ci/cd·全文检索
Insist7537 小时前
基于OpenEuler--docker容器化部署ceph集群
ceph·docker·容器
A-刘晨阳8 小时前
Linux安装centos8及基础配置
linux·运维·服务器·操作系统·centos8
恒雨田8 小时前
解决 jenkins 用户 SSH 连接目标服务器时的 Permission denied 问题
运维·ssh·jenkins