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

相关推荐
伊成16 分钟前
Docker 部署 Nginx 完整指南
nginx·docker·容器
网硕互联的小客服33 分钟前
Apache 如何支持SHTML(SSI)的配置方法
运维·服务器·网络·windows·php
落日漫游1 小时前
K8s核心组件全解析
运维·docker·运维开发
Demisse4 小时前
[Linux] Linux文件系统基本管理
linux·运维·服务器
BAOYUCompany4 小时前
暴雨服务器:以定制化满足算力需求多样化
运维·服务器
江湖有缘5 小时前
【Docker项目实战】使用Docker部署Notepad轻量级记事本
docker·容器·notepad++
禁默6 小时前
进程替换:从 “改头换面” 到程序加载的底层逻辑
linux·运维·服务器
BTU_YC6 小时前
docker compose部署mysql
mysql·adb·docker
Wezzer6 小时前
k8s单master部署
云原生·容器·kubernetes
Python私教8 小时前
Docker in Test:用一次性的真实环境,终结“测试永远跑不通”魔咒
运维·docker·容器