基于wsl2模板 安装Ubuntu子系统和docker

本文详细介绍了在Ubuntu系统中安装Docker的步骤,包括设置Docker仓库、安装Docker Engine-Community,以及配置阿里云镜像加速器。此外,还提供了启动Docker服务的方法。确保在配置完镜像加速后重启系统,以使设置生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一.安装步骤

在这里插入图片描述

1.powershell管理员身份执行
wsl --set-default-version 2 以wl2模板构建
2.wsl --list --online 查看发行版本; wsl --install -d 指定版本 安装相应版本
在这里插入图片描述
3.
若出现参数对象类型不支持,在管理员身份下执行netsh winsock reset
在这里插入图片描述

  • WSL 默认是没有设置 root 密码的
  • 设置 root 用户密码, 这样要输三次命令, 第一次当前用户密码, 后两次就是设置密码以及确认密码

二.ubuntu配置优化

2.1 启用systemd

vim /etc/wsl.conf

#============
[boot]
systemd=true
#============

wsl.exe --shutdown

2.2 关闭swap内存交换

官网wsl配置说明
在c盘用户目录下新建.wslconfig

[wsl2]
memory=48GB
swap=0
kernelCommandLine="sysctl.vm.max_map_count=2000000 swapaccount=0"
# 关闭嵌套虚拟化
nestedVirtualization=false

三.docker配置

卸载旧版本
Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们:

$ sudo apt-get remove docker docker-engine docker.io containerd runc

当前称为 Docker Engine-Community 软件包 docker-ce 。
安装 Docker Engine-Community,以下介绍两种方式。
使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker 。

设置仓库
更新 apt 包索引。

$ sudo apt-get update

安装 apt 依赖包,用于通过HTTPS来获取仓库:

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

添加 Docker 的官方 GPG 密钥:

$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

使用以下指令设置稳定版仓库

$ sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
  $(lsb_release -cs) \
  stable"

安装 Docker Engine-Community
更新 apt 包索引。

$ sudo apt-get update

安装最新版本的 Docker Engine-Community 和 containerd :

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

在这里插入图片描述
systemctl enable docker.service

三.配置阿里云镜像加速

我这是ubuntu

其中必须依照如此 非常重要

sudo apt install systemd

开启ssh服务

$ sudo ssh-keygen -A
$ sudo /etc/init.d/ssh start

在这里插入图片描述
在这里插入图片描述

看详细教程请记住配完镜像加速重启,这两条命令不管用.

详细教程

开启docker,每次开机都需要
sudo service docker start

四.成功样例

在这里插入图片描述

五.wsl压缩

参考:https://juejin.cn/post/7251986059796873274
wsl2中文件占用空间后,删除文件,仍会占用C盘空间不释放。
解决方法:
1.停止wsl

## 关闭wsl
wsl --shutdown
##查看wsl是否为stop状态
wsl -l -v

2.压缩磁盘

diskpart
select vdisk file="C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit
### 安装Docker前的准备 为了确保Docker能够正常工作,在WSL2上的Ubuntu 22.04环境中,需确认已启用虚拟机平台Windows子系统Linux功能[^1]。 ```bash wsl --set-version Ubuntu-22.04 2 ``` 此命令用于设置特定发行版使用WSL2作为其版本。这一步骤对于确保兼容性性能至关重要。 ### 更新现有软件包列表并安装依赖项 更新本地APT缓存以获取最新的软件包信息: ```bash sudo apt-get update && sudo apt-get upgrade -y ``` 接着安装一些必要的工具来支持后续操作: ```bash sudo apt install ca-certificates curl gnupg lsb-release -y ``` 这些基础组件有助于安全地下载官方源中的Docker镜像其他资源文件。 ### 添加Docker官方GPG密钥及稳定仓库地址 通过执行下面这段脚本可以完成上述目标: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 这里定义了一个新的APT源指向Docker官方网站,并指定了架构类型与签名验证方式。 ### 正式安装Docker Engine 再次刷新APT索引之后便可以直接调用`apt`指令来进行引擎部署: ```bash sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y ``` 此时应该已经成功完成了Docker的基础环境搭建过程。 ### 验证服务状态以及解决连接失败问题 如果遇到错误提示:“Cannot connect to the Docker daemon at unix:///var/run/docker.sock”,则可能是因为缺少权限或者是守护进程未启动造成的。可以通过如下方法尝试修复该状况: 赋予当前用户访问容器API接口的权利: ```bash sudo usermod -aG docker ${USER} su - ${USER} # 刷新组成员身份 ``` 重启计算机使更改生效;另外也可以手动开启后台运行的服务端口监听程序: ```bash sudo service docker start ``` 最后测试一下是否能正常使用客户端发送请求给服务器: ```bash docker run hello-world ``` 当看到一段欢迎词即表示一切就绪,现在可以在WSL2下的Ubuntu里尽情享受Docker带来的便利了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最难不过坚持丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值