news 2026/5/26 15:18:15

WSL Ubuntu 安装 Docker 操作指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
WSL Ubuntu 安装 Docker 操作指南

环境信息

  • 操作系统:Windows 10/11
  • WSL版本:WSL 1 或 WSL 2
  • Linux发行版:Ubuntu 24.04 LTS
  • Docker版本:29.1.4

前提条件

  • 已安装WSL
  • 已安装Ubuntu 24.04发行版
  • 具有sudo权限的用户账户

安装步骤

1. 检查WSL环境状态

首先检查WSL的运行状态和Ubuntu版本:

# 检查WSL版本 wsl -l -v # 进入Ubuntu系统 wsl -d Ubuntu-24.04 # 检查系统信息 lsb_release -a uname -a

2. 更新系统包管理器

更新apt包索引并安装必要的依赖:

# 更新包索引 sudo apt-get update # 安装必要的依赖包 sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release

3. 配置Docker镜像源

创建Docker仓库配置文件:

# 创建Docker仓库文件 sudo sh -c 'echo deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu noble stable > /etc/apt/sources.list.d/docker.list' # 下载并添加Docker的GPG密钥 sudo sh -c 'curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg' # 更新包索引 sudo apt-get update

4. 安装Docker引擎

安装Docker CE、Docker CLI和containerd.io:

# 安装Docker相关包 sudo apt-get install -y docker-ce docker-ce-cli containerd.io

5. 配置iptables为legacy模式(WSL 1环境)

由于WSL 1环境不完全支持nftables,需要将iptables配置为legacy模式:

# 设置iptables为legacy模式 sudo update-alternatives --set iptables /usr/sbin/iptables-legacy sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

6. 配置Docker镜像加速器

创建Docker配置文件,使用国内镜像加速器:

# 创建Docker配置目录 sudo mkdir -p /etc/docker # 创建daemon.json配置文件 sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://docker.1panel.live", "https://fw97fchg.mirror.aliyuncs.com", "https://mirror.ccs.tencentyun.com", "https://docker.m.daocloud.io" ] } EOF

7. 启动Docker服务

启动Docker服务并验证:

# 启动Docker服务 sudo service docker start # 检查Docker服务状态 sudo service docker status

8. 配置Docker服务随系统启动

将Docker服务添加到启动脚本中:

# 将Docker启动命令添加到.bashrc echo 'echo 160523 | sudo -S service docker start' >> ~/.bashrc

9. 配置用户权限

将当前用户添加到docker组,避免每次使用sudo:

# 将用户添加到docker组 sudo usermod -aG docker $USER

注意:组权限更改需要重新登录才能生效。

10. 验证Docker安装

验证Docker是否正确安装:

# 检查Docker版本 docker --version # 检查Docker Compose版本 docker compose version # 检查Docker信息 docker info # 检查Docker服务状态 sudo service docker status

11. 测试Docker功能

拉取并运行测试镜像:

# 拉取Python镜像 sudo docker pull python:3.9-slim # 运行测试容器 sudo docker run --rm python:3.9-slim python --version # 拉取hello-world镜像 sudo docker pull hello-world # 运行hello-world容器 sudo docker run hello-world

常用Docker命令

服务管理

# 启动Docker服务 sudo service docker start # 停止Docker服务 sudo service docker stop # 重启Docker服务 sudo service docker restart # 查看Docker服务状态 sudo service docker status

镜像管理

# 拉取镜像 docker pull <镜像名>:<标签> # 查看本地镜像 docker images # 删除镜像 docker rmi <镜像ID> # 搜索镜像 docker search <关键词>

容器管理

# 运行容器 docker run [选项] <镜像名> # 查看运行中的容器 docker ps # 查看所有容器(包括停止的) docker ps -a # 停止容器 docker stop <容器ID> # 删除容器 docker rm <容器ID> # 查看容器日志 docker logs <容器ID>

Docker Compose命令

# 启动服务 docker compose up # 后台启动服务 docker compose up -d # 停止服务 docker compose down # 查看服务状态 docker compose ps # 查看服务日志 docker compose logs

配置文件说明

Docker配置文件

位置:/etc/docker/daemon.json

常用配置选项:

{ "registry-mirrors": [ "https://docker.m.daocloud.io", "https://dockerhub.azk8s.cn" ], "data-root": "/var/lib/docker", "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }

常见问题及解决方案

1. Docker服务无法启动

问题:启动Docker服务时出现错误

解决方案

# 检查iptables配置 sudo update-alternatives --config iptables # 确保使用legacy模式 sudo update-alternatives --set iptables /usr/sbin/iptables-legacy

2. 权限被拒绝

问题:运行Docker命令时提示权限不足

解决方案

# 将用户添加到docker组 sudo usermod -aG docker $USER # 重新登录WSL exit wsl -d Ubuntu-24.04

3. 镜像拉取失败

问题:无法拉取Docker镜像

解决方案

# 检查网络连接 ping www.baidu.com # 检查镜像加速器配置 cat /etc/docker/daemon.json # 重启Docker服务 sudo service docker restart

4. WSL 1网络问题

问题:WSL 1环境中Docker网络连接异常

解决方案

# 确保iptables使用legacy模式 sudo update-alternatives --set iptables /usr/sbin/iptables-legacy sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy # 重启Docker服务 sudo service docker restart

卸载Docker

如果需要卸载Docker:

# 停止Docker服务 sudo service docker stop # 卸载Docker包 sudo apt-get purge docker-ce docker-ce-cli containerd.io # 删除Docker相关文件 sudo rm -rf /var/lib/docker sudo rm -rf /etc/docker sudo rm -rf /var/run/docker.sock

参考资源

  • Docker官方文档:https://docs.docker.com/
  • Docker Hub:https://hub.docker.com/
  • WSL官方文档:https://docs.microsoft.com/en-us/windows/wsl/
  • 阿里云Docker镜像:https://cr.console.aliyun.com/
  • DaoCloud镜像加速器:https://www.daocloud.io/mirror

注意事项

  1. WSL版本:建议使用WSL 2以获得更好的Docker支持
  2. 网络配置:WSL 1环境需要配置iptables为legacy模式
  3. 权限管理:将用户添加到docker组后需要重新登录
  4. 镜像加速器:使用国内镜像加速器可以提高镜像拉取速度
  5. 系统资源:Docker会占用一定的系统资源,请确保系统配置足够

总结

通过以上步骤,您已经成功在WSL Ubuntu环境中安装和配置了Docker。现在可以使用Docker来构建、运行和管理容器化应用程序了。

如有任何问题,请参考常见问题部分或查阅Docker官方文档。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 15:23:05

autosar软件开发中诊断协议栈配置实践案例

AUTOSAR诊断协议栈配置实战&#xff1a;从UDS服务到DTC管理的全链路解析在一辆现代智能汽车中&#xff0c;当你用诊断仪读取一个故障码、刷新ECU程序&#xff0c;或是远程获取车辆实时数据时——背后支撑这一切的&#xff0c;正是AUTOSAR架构中的诊断通信协议栈。它不仅是连接整…

作者头像 李华
网站建设 2026/5/20 9:52:49

MPC5634 Bootloader

MPC5634 Bootloader嵌入式工程师最怕遇到设备变砖&#xff0c;而好的Bootloader设计就是咱们的救命稻草。今天咱们来盘一盘飞思卡尔MPC5634这颗工业级控制器的Bootloader实现&#xff0c;直接上干货不啰嗦。先说启动流程&#xff0c;这货上电先执行0x00地址的启动代码。来看关键…

作者头像 李华
网站建设 2026/5/20 9:52:48

【大模型越狱】【ICML2025】Weak-to-Strong Jailbreaking on Large Language Models

Abstract 大型语言模型(LLM)容易受到越狱攻击,导致生成有害、不道德或有偏见的内容。然而,现有的越狱方法计算成本高昂。本文提出了一种高效的推理时攻击方法——弱到强(weak-to-strong)越狱攻击,用于诱导对齐后的LLM生成有害文本。我们的核心观察是:越狱模型与安全模…

作者头像 李华
网站建设 2026/5/20 9:52:49

操作指定目录下的文件,对特定参数赋值,接口函数

操作指定目录下的文件,对特定参数赋值,接口函数 操作 /usrdata/root/params.ini文件 并对某些参数赋值 这里为 record_stream参数赋值 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <unistd.h>#define PARAM_FILE "…

作者头像 李华