记录一次wls2上ubuntu20.04版本中安装docker

本文介绍如何在Windows 10的WLS2环境中配置Ubuntu 20.04系统,包括更换阿里云源、设置root用户远程登录、安装与配置Docker服务以及通过Podman实现容器化操作的方法。

为了方便使用docker容器演示,在win10上安装了wls2以及ubuntu20.04系统

1、配置阿里云源

更换apt源并修改DNS解析

  1. 更换apt源
  2. 修改DNS
 cat /etc/resolv.conf 
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 10.18.104.246
nameserver 61.178.0.93
nameserver 192.168.6.200

2、配置root秘密并开启远程登录

  1. 配置密码
sudo su
passwd root
  1. 开启远程登录
vim /etc/ssh/sshd_config
# 配置一下选项
Port 22
#AddressFamily any
ListenAddress 0.0.0.0

#PermitRootLogin prohibit-password
PermitRootLogin yes

PasswordAuthentication yes

# 安装ssh服务
apt-get install openssh-server openssh-client

/etc/init.d/ssh start

ifconfig

即可使用远程工具进行连接

3、安装docker

wget https://download.docker.com/linux/ubuntu/gpg
sudo apt-key add gpg

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

在这里插入图片描述
修改service

远程docker server开启了tcp连接,即在 /lib/systemd/system/docker.service 中的ExecStart=/usr/bin/dockerd 一句后面追加tcp访问协议,如下

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H  unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
ExecReload=/bin/kill -s HUP $MAINPID

4、重启wls的ubuntu

# 管理员运行powershell
Get-Service LxssManager | Restart-Service

# 启动sshd
/etc/init.d/ssh start
# 启动docker
service docker start
service docker status

5、曲线救国

wls中启动docker可能会遇到各种问题,这时候我们可以考虑曲线救国的方式,那么多容器化工具,podman、containerd等,为什么非要使用docker呢
这里使用podman代替docker(目的是为了方便容器化操作)

# 卸载上一步安装的
dpkg --get-selections | grep -v deinstall | grep docker | awk '{print $1}'
docker-ce
docker-ce-cli
docker-ce-rootless-extras
docker-compose-plugin
docker-scan-plugin

# 删除查询到的docker被安装的信息后删除
sudo apt-get autoremove docker-ce docker-ce-cli docker-ce-rootless-extras docker-compose-plugin  docker-scan-plugin -y

安装podman

# 执行以下命令导出' /etc/os-release '文件中的环境变量。
. /etc/os-release

# 添加具有稳定版本的 podman 存储库,并使用以下命令将 GPG 密钥添加到您的系统。
echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list

curl -L "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/Release.key" | sudo apt-key add -

# 更新/刷新 Ubuntu 存储库并将所有软件包升级到最新版本。
sudo apt update
sudo apt -y upgrade

# 安装
sudo apt install podman -y

podman version

# 添加别名(骗骗自己,假装使用的是docker)
sudo vim /root/.bashrc
vim .bashrc
# 添加别名
alias docker='podman'

source .bashrc


# 测试
sudo docker version
sudo docker info

在这里插入图片描述

参考链接:
https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.3e221b11YfnocC
https://blog.51cto.com/wdndltg/5189597
https://blog.youkuaiyun.com/bean_business/article/details/112278504
https://blog.youkuaiyun.com/XhyEax/article/details/105560377
https://www.jianshu.com/p/95742c89a3ba
https://zhuanlan.zhihu.com/p/457866408
https://www.cnblogs.com/it-tsz/p/11107510.html
https://geray-zsg.github.io/2022/01/Docker%E5%9F%BA%E7%A1%80/

### 安装准备 为了确保顺利安装,在开始之前需确认BIOS中的虚拟化技术已被激活。这一步骤对于启用WSL2至关重要[^1]。 ### 安装 WSL2 #### 设置前提条件 确保操作系统满足最低版本需求,并通过以下命令验证是否具备必要的更新: ```powershell wsl --list --verbose ``` 如果尚未配置,执行如下操作来开启“适用于Linux的Windows子系统”以及虚拟机平台服务: ```powershell dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` 重启计算机以应用更改。 #### 配置 WSL2 作为默认版本 完成上述步骤后,可以通过运行下列指令将全局默认版本设为WSL2: ```powershell wsl --set-default-version 2 ``` 同时建议下载最新的WSL Linux内核更新包并按照指示进行安装。 ### 安装 Ubuntu on WSL2 访问 Microsoft Store 并搜索 `Ubuntu` 来获取最新发布的镜像文件。点击获取按钮即可自动完成部署过程。首次启动时会创建一个新的用户账户用于后续登录认证[^2]。 ### 安装 Docker 在成功搭建好Ubuntu环境之后,继续推进Docker组件的集成工作。 #### 准备阶段 更新现有的软件源列表并且安装一些必要的工具集: ```bash sudo apt-get update && sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release ``` #### 添加官方GPG密钥与APT仓库地址 利用curl工具从官方网站拉取安全证书并将之加入信任库中;随后定义新的apt源路径指向稳定版发布渠道: ```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 ``` #### 执行实际安装流程 最后再次同步本地缓存数据表并向其中追加docker-ce核心程序及其配套附件: ```bash sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io ``` 至此便完成了整个基础架构建设任务,可以尝试启动守护进程测试连通性状况了。 ### 测试连接 打开终端输入`docker run hello-world`查看是否有预期输出结果出现,若有则证明一切正常运作良好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值