WSL2 + Ubuntu18.04 + Docker

本机环境: win10专业工作站版(Microsoft Windows [版本 10.0.19041.208])

启用并配置WSL2

  1. WSL2 仅在 Windows 10 18917 或更高版本中可用,如果版本太低,可以加入 Windows Insider 升级 Windows ,我们可以在 cmd 中使用 ver 命令来检查当前 windows的版本..目前的正常家庭版版本应该是1909-18363..不知道为什么, 我使用的这个版本的家庭版无法使用预览体验版本..然后我就升级了专业工作站版, 并且开启了windows体验预览版本, 升级到Microsoft Windows [版本 10.0.19041.208], 具体升级办法, 请参考将win10永久激活为专业工作站版这篇文章...
    WSL2 + Ubuntu18.04 + Docker
  2. 升级完系统之后请确保已经开启了WSL, 然后在Windows应用商店安装Ubuntu18.04
    WSL2 + Ubuntu18.04 + Docker
  3. 按照官网的文档进行WSL2升级
    WSL2官网安装说明
    WSL2 + Ubuntu18.04 + Docker

Linux个性化修改和常规配置

  1. 第一次打开Ubuntu子系统需要设置一个新的用户和密码
    WSL2 + Ubuntu18.04 + Docker
  2. 设置root用户密码
    sudo passwd root
    
    WSL2 + Ubuntu18.04 + Docker
  3. 下载新的Terminal客户端(windows应用商店), 代替默认命令行窗口
    WSL2 + Ubuntu18.04 + Docker
    WSL2 + Ubuntu18.04 + Docker
  4. 备份源, 替换国内源, 更新源
    su root    # 切换到root用户, 以下所有操作都在root用户下完成
    mv /etc/apt/sources.list /etc/apt/sourses.list.backup    # 备份
    vi /etc/apt/sources.list    # 新建, 以下源任选一个
    
    # 阿里源
    deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    
    #清华源
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe 	multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    
    #中科大源
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    
  5. 更新
    apt-get clean
    apt-get update
    apt-get upgrade
    
  6. 安装zsh和oh my zsh(官网)
    # 安装 zsh
    apt-get install zsh
    # 修改默认的 Shell 为 zsh
    chsh -s /bin/zsh
    # 安装 oh my zsh
    sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
    
    WSL2 + Ubuntu18.04 + Docker
  7. zsh插件安装(以下所有操作默认都是在root用户下进行的)
    $ZSH    # zsh安装目录, cd $ZSH可以直接进入
    $ZSH_CUSTOM    # 自定义安装目录, 一会会用到
    ~/.zshrc    # 用户目录下, zsh配置文件, 在用户目录, 执行 ls -la 才能看到
    
    # zsh中的插件和主题分两种, 系统默认自带的和自定义安装的
    # 在 $ZSH/plugins/ 目录查看自带插件
    # 在 $ZSH/themes/ 目录查看自带主题
    # $ZSH_CUSTOM/plugins/  自定义安装插件目录
    # $ZSH_CUSTOM/themes/  自定义安装主题目录
    
    # 下载两个自定义插件到指定目录
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
    git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
    
    # 修改~/.zshrc文件
    vim ~/.zshrc
    
    修改主题, 如果是系统自带的直接修改名字, 否则先下载到指定目录, 在修改
    WSL2 + Ubuntu18.04 + Docker
    添加插件, 如果是系统自带的直接添加名字, 否则先下载到指定目录, 在添加, 默认只有git插件, zsh开头是上面刚刚下载的, 其他的都是系统自带插件
    WSL2 + Ubuntu18.04 + Docker
    # 编辑完保存退出, 执行以下命令使配置生效
    source .zshrc
    

安装Docker

  1. 如果有旧版本, 先卸载
    apt-get remove docker docker-engine docker.io containerd runc
    
  2. 设置存储库
    # 更新 apt 包索引
    apt-get update
    
    # 安装软件包以允许 apt 通过 HTTPS 使用存储库
    apt-get install \
    	apt-transport-https \
    	ca-certificates \
    	curl \
    	gnupg-agent \
    	software-properties-common
    	
    # 添加Docker官方GPG key
    curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
    
    # 通过搜索指纹的8个字符,验证key的指纹:9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
    apt-key fingerprint 0EBFCD88
    
    # 设置稳定的存储库
    add-apt-repository \
    	"deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
    	$(lsb_release -cs) \
    	 stable"
    
    WSL2 + Ubuntu18.04 + Docker
  3. 安装 Docker 社区版( docker-ce )
    # 更新 apt 包索引
    apt-get update
    
    # 安装最新版本的 Docker 和 containerd
    apt-get install docker-ce docker-ce-cli containerd.io
    
    # (*)安装特定版本;<VERSION> 为具体版本,例如 18.09.1
    apt-get install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io
    
  4. 启动 docker 并设置开机自启(报错参考)
    # 启动 docker
    systemctl start docker.service
    # 设置开机自启
    systemctl enable docker.service
    
  5. 非 root 用户想要使用 docker ,需要将该用户添加到 docker 用户组
    usermod -aG docker user-name
    
  6. 卸载docker
    # 卸载软件
    apt-get purge docker-ce
    # 删除 docker 的容器,镜像,卷等存储
    rm -rf /var/lib/docker
    

下载安装 Docker Desktop WSL 2 backend

WSL 2 引入了重大的体系结构更改,因为它是 Microsoft 构建的完整 Linux 内核,允许 Linux 容器在没有仿真的情况下本机运行,而 Docker 也专门开发了可以使用 WSL 2 中的 Docker 守护进程的桌面管理程序, 打开 Docker Desktop WSL2 backend 下载页面, 安装之后, 打开程序做如下设置

  1. 暴露 2375 端口,让外部其他程序也能管理 Docker (打开 Expose daemon on tcp://localhost:2375 without TLS 前面的复选框)
    WSL2 + Ubuntu18.04 + Docker
  2. 在 Resources 中设置要从哪个 WSL 2 发行版中访问 Docker,如下图使用的是 Ubuntu-18.04
    WSL2 + Ubuntu18.04 + Docker
    配置完成之后,点击 Apply & Restart 应用并重启 Docker Desktop 。重启完成之后,我们看到 Desktop 左下脚的 Docker 状态为绿色的 running 表示 Docker 正在运行。
    要想知道自己安装的 Docker 的相关版本信息,我们可以在 右下角任务栏docker图标点击About Docker Desktop
    WSL2 + Ubuntu18.04 + Docker
    WSL2 + Ubuntu18.04 + Docker
上一篇:修改Ubuntu源


下一篇:Ubuntu 修改 apt-get 源为国内镜像源的方法