WSL2(Ubuntu22.04)安装Docker

1,124 阅读1分钟

安装WSL2

使用 WSL 在 Windows 上安装 Linux,请参考:learn.microsoft.com/zh-cn/windo…

安装Docker

在安装 Docker 之前,需要卸载旧版本

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

安装必要的一些系统工具

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
sudo chmod a+r /etc/apt/keyrings/docker.gpg

设置存储库

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

安装最新版docker

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

将当前用户加到docker组

sudo usermod -aG docker ${USER}

开启Docker服务

sudo service docker start

查看Docker的启动状态

sudo service docker status

Ubuntu22.04的新问题

新的ubuntu系统使用了iptables-nft,而WSL2不支持导致的,会导致Docker启动失败,使用iptables-legacy就可以正常启动了

sudo update-alternatives --config iptables

image.png 输入/usr/sbin/iptables-legacy的序号1即可

配置国内镜像和远程访问

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://registry.docker-cn.com"],
	"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
}
EOF