打造好用的Docker Desktop、WSL Ubuntu系统

背景

本地开发环境(Windows机器)运行K8S,当然选择wsl和docker desktop。但是网上相关的方法太多,而且docker desktop安装可能遇到一些异常,导致在安装相关环境时走了一些弯路。
本文不会介绍如何安装wsl、ubuntu和docker desktop,仅描述安装这些软件后应当以何种最优的方式进行配置,使之更有利于平时使用。

WSL Ubuntu初始化工作

wsl中安装了Ubuntu之后,您可能需要立即进行如下配置:

apt源更改为国内源

CODENAME=$(cat /etc/apt/sources.list | grep " main " | head -1 | awk -F ' main ' '{print $1}' | awk '{print $NF}')
mv /etc/apt/sources.list /etc/apt/sources.list.bak
cat << __EOF__ > /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ $CODENAME main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ $CODENAME main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ $CODENAME-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ $CODENAME-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ $CODENAME-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ $CODENAME-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ $CODENAME-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ $CODENAME-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ $CODENAME-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ $CODENAME-backports main restricted universe multiverse
__EOF__
apt update -y
apt upgrade -y

systemd

参考https://blog.csdn.net/pleong/article/details/124964195的描述,这个方法比官方介绍的更简单,而且官方介绍的方法需要注意以下两点:

  1. sudo vi /usr/sbin/enter-systemd-namespace这个章节中提供的脚本有误,第10行/usr/sbin/daemonize应该进行修改成/usr/bin/daemonize
  2. nsenter -t "$SYSTEMD_PID" -a中的-a选项可能会遇到问题,应该改成-m -p
    另外如果脚本执行错误,会导致会话进不去。因此最好就在当前窗口输入命令检查是否有异常,例如:
nsenter

Docker desktop

在国内安装docker desktop,以及在docker desktop中安装kubernetes(目前最新版本为1.24.0)均不需要搭梯子。
Docker可以配置国内源,优先用阿里云的源,例如:

{
  ...
    "registry-mirrors": [
    "https://<your id>.mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn/",
    "https://reg-mirror.qiniu.com/"
  ]
  ...
}

如果有异常,可以删除C:\Users\<your account>\AppData\Roaming\目录下的Docker DesktopDocker目录再重新安装。

集成与便利化工作

在Ubuntu中集成docker和k8s

WSL Ubuntu中不要再安装docker和k8s了,应当直接用Windows的。

  • Docker:在Settings -> Resources -> WSL Integration中勾选
  • K8S:在Settings -> Kubernetes中勾选Show system containers (advanced)即可。

别名和命令补全

确保bash-completion已安装:

apt install -y bash-completion

添加kubectl别名并进行命令补全:

cat << __EOF__ >> /etc/bash.bashrc
alias k=kubectl
source <(kubectl completion bash)
source <(kubectl completion bash | sed s/kubectl/k/g)
__EOF__

重新进入会话即可。

kubens

curl -L https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubens -o /usr/bin/kubens
chmod +x /usr/bin/kubens

其他参考

在Ubuntu中安装K8S(不推荐)

由于上述通过docker desktop安装的方式工作良好,因此下列安装方式并不推荐。

kind(有问题)

参考https://kubernetes.io/blog/2020/05/21/wsl-docker-kubernetes-on-the-windows-desktop/#kind-kubernetes-made-easy-in-a-container安装kind
https://kubernetes.io/blog/2020/05/21/wsl-docker-kubernetes-on-the-windows-desktop/
但是目前Kind总遇到Deployment不能启动(而又无任何异常)的情况。所以不建议。

直接安装k8s

参考https://blog.csdn.net/m0_60496726/article/details/120765822
/etc/apt/sources.list文件中,增加一行:

deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main

更新软件

apt upgrade
apt update -y

遇到问题时,将第一个提示的Public key输入到下面命令中执行,然后再执行apt update -y

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys  <the public key>

安装kubectl kubeadm kubelet

apt-get install -y kubelet kubeadm kubectl --allow-unauthenticated
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Docker Desktop 是一款用于运行和管理容器化应用的工具,而 Ubuntu 20.04 WSLWindows系统的一种,可以在 Windows 上运行 Ubuntu Linux,让开发者可以在 Windows 环境中进行开发和测试。 在使用 Docker Desktop 时,可以与 Ubuntu 20.04 WSL 进行集成,以便在 Windows 环境下更方便地使用 Docker。集成后,可以在 Ubuntu 20.04 WSL 中安装和运行 Docker Engine,与在常规的 Ubuntu 环境中没有太大的差别。 然而,有时可能会遇到"Distribution Ubuntu-20.04 unexpec"的错误。这通常是由于某些原因引起的不可预期的错误或问题。这可能是由于操作系统或软件的不稳定性、版本冲突、配置错误、网络问题等引起的。 要解决这个问题,有几个步骤可以尝试: 1. 检查 Docker DesktopUbuntu 20.04 WSL 的版本是否兼容,确保使用了最新的版本。 2. 检查系统和软件的配置是否正确,确保没有出现冲突或错误的设置。 3. 检查网络连接是否正常,确保能够访问互联网和 Docker 仓库。 4. 尝试重新安装或更新 Docker DesktopUbuntu 20.04 WSL,以修复可能的损坏或错误。 如果问题仍然存在,可以尝试搜索相关的错误信息或寻求帮助,以找到更具体的解决方法。同时,也可以尝试使用其他类似的工具或方法来满足容器化应用的需求。 ### 回答2: 当Docker DesktopUbuntu 20.04 WSL集成时出现异常,可能有几种可能原因和解决方法。 首先,确保你的Docker DesktopWSL都是最新版本,并且已经正确安装和配置。 如果你的Docker DesktopWSL版本不兼容,可能会导致集成过程中出现异常。请检查并更新它们。 其次,检查Docker Desktop的设置是否正确。进入Docker Desktop的设置菜单,确保“WSL Integration”选项已启用,并选择你要与WSL集成的Ubuntu 20.04版本。 如果集成过程中仍然存在问题,可以尝试重新安装Docker DesktopWSL。首先卸载Docker DesktopWSL,然后重新安装它们。确保按照官方文档上的步骤进行操作。 另外,你还可以尝试重启计算机,有时候重启可以帮助解决一些集成问题。 如果以上方法仍然无法解决问题,建议查看Docker DesktopWSL的官方文档,寻找可能的故障排除方法或寻求技术支持。 总之,当Docker DesktopUbuntu 20.04 WSL集成过程中出现异常时,可以通过确保软件版本兼容、检查设置并重新安装软件来解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值