wsl2中配置docker

DOCKER的配置还是太麻烦了,想再探索一个方法,实现核心算法和接口的更理想的解耦方式。
缺少的不是一劳永逸的到处迁移
而是保持核心算法的清洁、整洁、简洁,作为一个完整的包,在不同环境下去部署。
即使一些基本的部署动作必不可少,就把这些部署动作搞清楚。

配置好以后,尝试跟一下这个作业
docker的入门使用—太详细了

需要wsl2?
wsl --set-default-version 2 转换为wsl2

wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-24.04    Stopped         2

查看版本号

PS C:\Windows\system32> wsl -v
WSL 版本: 2.3.26.0
内核版本: 5.15.167.4-1
WSLg 版本: 1.0.65
MSRDC 版本: 1.2.5620
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26100.1-240331-1435.ge-release
Windows 版本: 10.0.19045.5247

在Windows系统中使用WSL(Windows Subsystem for Linux)来安装Docker,可以按照以下步骤进行:
sudo apt-get update
sudo apt-get install docker.io
sudo docker run hello-world

  • Unable to find image ‘hello-world:latest’ locally docker: Error
    response from daemon: Get “https://registry-1.docker.io/v2/”: read
    tcp 172.25.243.3:38566->54.198.86.24:443: read: connection reset by
    peer. See ‘docker run --help’.

docker -v
Docker version 26.1.3, build 26.1.3-0ubuntu1~24.04.1
也算安装成功了

sudo systemctl start docker
#也可以选择设置开机自启
sudo systemctl enable docker

如果发现依然出现以下报错

  • System has not been booted with systemd as init system (PID 1). Can’t
    operate. Failed to connect to bus: Host is down

原因是你的系统并没有使用 systemd 作为其初始化系统(PID 1),在没有 systemd 的系统上,systemctl 命令是无法工作的。原先的 Wsl2不支持 systemd,而是采用systemv, 这导致常用的systemctl无法正常使用,参考官方文档发现,最新版本的Ubuntu发行版已经默认使用 systemd 作为初始化系统, 如果是曾经安装的发行版,可以检查一下 WSL 的版本
#使用windows自带的powershell执行以下命令

wsl --version

如果低于0.67.6,请更新系统,并运行以下指令
#使用windows自带的powershell执行以下命令

wsl --update

如果是0.67.6或者以上,就可以直接通过以下方法配置 systemd
打开子系统中的 /etc/wsl.conf 文件,如果没有则创建一个
在文件中添加以下配置,保存并退出

[boot]
systemd=true

执行以下命令,停止WSL
#使用windows自带的powershell执行以下命令

  • wsl --shutdown

重新进入发行版,就已经可以在正常使用 systemctl 和 docker 了

以下为失败案例,和过程---------------------------V

1. 检查Windows系统版本
确保你的Windows系统版本至少为Windows 10 1607或更高版本,并且支持WSL 2。对于Windows 11用户,通常已经默认支持WSL 2。

2. 安装并启用WSL
打开PowerShell(管理员模式)。
输入以下命令来启用WSL功能:
powershell
Copy Code
wsl --install
这个命令会下载并安装WSLÿ

你可能感兴趣的:(docker,容器,运维)