当前位置: 首页 > news >正文

Windows10 wsl2 ubuntu22.04 docker安装

1. 环境准备

首先需要明确 Windows 安装 Docker 的一些先决条件:

  1. 确保 Window 版本在 10/11 以上
  2. 确保系统启用了 虚拟化支持
  3. 确保系统支持 HyperV 组件
  4. 确保系统安装了 WSL2 最新版本
  5. 确保虚拟化所需的 Windows 功能服务已经开启
HyperV 组件支持
systeminfo | findstr /C:"Hyper-V"
Hyper-V 要求:     已检测到虚拟机监控程序。将不显示 Hyper-V 所需的功能。

一般的 Windows 个人家庭版默认不带 HyperV,如果发现 HyperV组件未安装,可通过脚本进行安装。

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

将以上脚本保存为 hyperv.cmd 文件,双击运行可完成安装。

脚本执行完成后,重新检查以确认 HyperV 安装完成。

安装 WSL2 最新版本

访问如下地址获取安装包进行安装:

https://github.com/microsoft/WSL/releases

安装完成之后,设置版本并检查状态:

> wsl --set-default-version 2
> wsl -v
WSL 版本: 2.6.1.0
内核版本: 6.6.87.2-1
WSLg 版本: 1.0.66
MSRDC 版本: 1.2.6353
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26100.1-240331-1435.ge-release
Windows: 10.0.19045.5965

ps:如果wsl -v失败,进入:https://learn.microsoft.com/en-us/windows/wsl/install-manual

下载:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi 然后双击运行

配置wsl2

编辑 %USER_HOME%/.wslconfig文件:

在这里插入图片描述

对于 Windows 10 版本,采用如下配置:

[wsl2]
networkingMode=nat
memory=4GB # 限制 WSL 2 VM 使用的内存不超过 4GB
processors=2 # 设置 WSL 2 VM 使用两个虚拟处理器
swap=8GB # 设置交换分区大小为 8GB[experimental]
autoMemoryReclaim=dropcache

保存 .wslconfig 文件,重启wsl服务:

 wsl --shutdown wsl
开启虚拟化服务功能

打开控制面板 -> 程序 -> 启用或关闭系统功能,

将如下系统功能打开:

  • 虚拟机平台
  • HyperV
  • 适用于WIndows的Linux子系统
    在这里插入图片描述
    在这里插入图片描述

启用后根据提示重启系统后生效。

安装 Linux 发行版

离线安装,参考文档:

https://learn.microsoft.com/en-us/windows/wsl/install-manual
在这里插入图片描述

我下载的Ubuntu22.04,大家可以自行选择

D盘创建WSL文件夹

提前下载7zip

将下载的 Ubuntu2204-221101.AppxBundle 放到 WSL 文件夹中

使用7zip解压 Ubuntu2204-221101.AppxBundle 到 Ubuntu2204-221101 目录,进入 Ubuntu2204-221101
在这里插入图片描述

将 Ubuntu_2204.1.7.0_x64 目录移动到 D:/WSL目录下 ,进入 Ubuntu_2204.1.7.0_x64 ,双击执行 ubuntu.exe

在这里插入图片描述

2. Ubuntu初始化

换源

备份原来源

# 备份原来源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

打开/etc/apt/sources.list

sudo vim /etc/apt/sources.list
# 使用vim打开后,英文输入a,进编辑模式,输入下边内容
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse# 然后按 Esc 输入:wq

保存修改后的源文件后,更新源以使其生效:

sudo apt update
sudo apt upgrade -y
开通ssh服务
sudo apt install openssh-server -y
sudo vim /etc/ssh/sshd_config
# 使用vim打开后,英文输入a,进编辑模式
PermitRootLogin yes
Port 22# 然后按 Esc 输入:wq
sudo systemctl restart ssh

完事后使用xshell登录操作更方便

Ubuntu上安装Docker准备

检查系统环境
# 检查系统版本
lsb_release -a# 检查内核版本
uname -r# 检查磁盘空间
df -h# 检查当前用户
whoami
id# 安装必要的依赖包
sudo apt install -y \apt-transport-https \ca-certificates \curl \gnupg \lsb-release \software-properties-common \iptables \wget \jq
配置iptables(WSL2需要)
# 更新iptables替代方案
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy# 验证iptables配置
sudo iptables --version
创建Docker数据目录
# 创建Docker数据目录
sudo mkdir -p /opt/docker# 设置目录所有者和权限
sudo chown root:root /opt/docker
sudo chmod 755 /opt/docker# 验证目录创建
ls -ld /opt/docker
创建Docker子目录结构
# 预创建一些重要的子目录
sudo mkdir -p /opt/docker/{containers,image,network,volumes,swarm,tmp,plugins}# 验证目录结构
sudo ls -la /opt/docker/
Docker仓库配置
清理可能存在的旧配置
# 删除可能存在的旧配置
sudo rm -f /etc/apt/sources.list.d/docker.list
sudo rm -f /usr/share/keyrings/docker-archive-keyring.gpg
sudo rm -f /usr/share/keyrings/docker.gpg# 确保目录存在
sudo mkdir -p /usr/share/keyrings
添加Docker官方GPG密钥
# 下载Docker GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg# 设置密钥文件权限
sudo chmod a+r /usr/share/keyrings/docker.gpg# 验证密钥文件
ls -la /usr/share/keyrings/docker.gpg# 验证密钥内容
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/docker.gpg --list-keys
添加Docker仓库
# 添加Docker仓库到APT源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 验证仓库配置
cat /etc/apt/sources.list.d/docker.list# 更新包列表
sudo apt update
验证Docker仓库
# 检查Docker包是否可用
apt-cache policy docker-ce# 查看可用的Docker版本
apt-cache madison docker-ce | head -5
创建Docker配置目录
# 创建Docker配置目录
sudo mkdir -p /etc/docker# 设置配置目录权限
sudo chown root:root /etc/docker
sudo chmod 755 /etc/docker
创建daemon.json配置文件
# 创建优化的Docker配置文件
sudo vim /etc/docker/daemon.json
# 使用vim打开后,英文输入a,进编辑模式,输入下边内容
{"data-root": "/opt/docker","storage-driver": "overlay2","log-driver": "json-file","log-opts": {"max-size": "10m","max-file": "3"},"registry-mirrors": ["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc","https://do.nark.eu.org","https://dc.j8.work","https://dockerproxy.com","https://gst6rzl9.mirror.aliyuncs.com","https://registry.docker-cn.com","http://hub-mirror.c.163.com","http://mirrors.ustc.edu.cn/","https://mirrors.tuna.tsinghua.edu.cn/","http://mirrors.sohu.com/"],"max-concurrent-downloads": 10,"max-concurrent-uploads": 5,"iptables": true,"ip-forward": true,"bridge": "docker0","default-address-pools": [{"base": "172.19.0.0/16","size": 24}],"experimental": false,"features": {"buildkit": true},"insecure-registries": ["registry.docker-cn.com","docker.mirrors.ustc.edu.cn"]
}
安装Docker Engine
# 安装Docker CE及相关组件
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# 验证安装
docker --version
docker compose version
启动和配置Docker服务
启动Docker服务
# 启动Docker服务
sudo service docker start# 等待服务启动# 检查服务状态
sudo service docker status# 检查Docker进程
ps aux | grep dockerd | grep -v grep
验证目录结构
# 检查/opt/docker目录结构
echo "Docker数据目录结构:"
sudo ls -la /opt/docker/# 注意:Docker子目录是按需创建的,运行容器后才会出现
echo ""
echo "注意:以下目录由Docker按需创建,初始安装后可能不存在:"
for dir in containers image network volumes; doif [ -d "/opt/docker/$dir" ]; thenecho "✓ $dir 目录存在"elseecho "• $dir 目录将在使用时自动创建"fi
done# 验证Docker是否能在此目录中工作
echo ""
echo "验证Docker数据目录功能:"
if docker info | grep -q "/opt/docker"; thenecho "✓ Docker数据根目录配置正确"
elseecho "✗ Docker数据根目录配置可能有问题"
fi

使用Docker

参照菜鸟教程:https://www.runoob.com/docker/docker-container-usage.html

http://www.dtcms.com/a/580885.html

相关文章:

  • 使用docker-compose部署应用保姆级教程
  • 【Linux工具链】从跨平台适配到一键部署:yum多架构支持+Vim远程编辑+gcc交叉编译,解决多场景开发效率瓶颈
  • 简单做网站企业宣传视频制作免费模板
  • 西安SEO网站建设哪家好食品网站的网页设计
  • 网站开发公司哪家好嘉兴市建设工程监理协会网站
  • 天津做一个简单的网站首页wap门户网站源码
  • 热门软件排行榜泰州网站关键词优化
  • 怎么查询网站开发公司个人网站数据库大小
  • 营销型网站和传统网站区别ui设计技能就业培训
  • 威宁住房和城乡建设局网站wordpress is ssl
  • 网站域名缴费wordpress怎么改登陆地址
  • 网站底备案号链接代码小程序登录入口qq浏览器
  • 电商网站建设功能个人网页免费域名注册入口
  • 网站建设所用系统没有文字的网站怎么优化
  • 站长工具seo综合查询隐私查询做网站功能
  • 扬州市广陵区建设局网站做代理稳妥的彩票网站有哪些
  • 软件下载类型网站怎么做建筑公司资质甲级乙级
  • 自己建站百度企业查询官网
  • 如皋建设网站wordpress中级教程
  • 正规轻电商网站模板做美足网站违法吗
  • 可以做本地生活服务的有哪些网站平面设计作品欣赏官网
  • 专业网站托管的公司免费咨询医院
  • 温州哪里有做网站怎么查公司企业邮箱
  • 什么叫网站维护整站优化提升排名
  • 广东联通通信建设有限公司 网站王烨画家
  • 金属网站模板石家庄做网站公司
  • 英文网站网站建设深圳网站备案
  • 商城网站开发技术有哪些外卖网站建设可行性分析
  • a5做网站wordpress文章导入公众号
  • 柳市网站建设公司做网站需要多大尺寸