本文转载自微信公众号「小姐姐味道」,作者小姐姐养的狗。转载本文请联系小姐姐味道公众号。
手里的macbook因为键盘问题返厂维修了,只好抱起了久违的Windows。首先面临的,就是Docker问题。
docker好用,但安装麻烦,用起来也命令繁多。一个小白,如何打造舒适的docker环境,是一个非常有挑战的问题。
本文将手把手的教你怎么把docker方便的搞到windows上,打造一个好用的开发环境,并安装好用的管理工具。所以本文包含以下内容:
- 安装Windows10
- 安装WSL2环境
- 安装Ubuntu操作系统
- 安装Docker
- 安装portainer
- 使用方法
篇幅较长,所以本文暂时杜绝废话。力求一气呵成,半小时内手握白富美。
1. 安装WSL2
1.1 安装Windows Terminal
在远程连接其他Linux的时候,我通常使用Xshell,就因为它长得比较漂亮耐看。
在Windows上,就可以安装Windows Terminal。有点类似于MacOS上的iTerm,可以说是Windows下最舒适的终端。
安装Windows Terminal需要从应用商店去获取,就是下面这个按钮。
在搜索框里搜索Windows Terminal,即可找到这个软件。比较人性化的一点是,它不像Mac的应用商店一样,需要你先准备一个账号。WT不需要登录即可获取。
如果你的页面一直打转也不要紧,关闭重新打开几次就好了。由于众所周知的原因,国外网站就没有几个不转圈的。
1.2 开启WSL2
如下图,在控制面板,找到程序选项,点击 “启用或关闭Windows功能”。
从弹出的对话框里,划到最下边,然后给“适用于Linux的Windows子系统“,打勾,完事!
要启用WSL2,必须要把Windows10升级到最新版本才可以。在Powershell中,执行下面命令,切换成WSL2版本。
- wsl --set-default-version 2
2 安装Ubuntu子系统
从应用商店安装Ubuntu系统,这个系统将会以软件的形式存在。我这里选择的是LTS版本,可以看到给它打分的人并不多,可能大多数都是像我一样没有微软账号的游客。
此时,神奇的事情发生了。在我们的Windows Terminal右上角,有一个向下的箭头,点击它,就可以看到刚刚安装的Ubuntu。
在Windows上离着Linux,只差一次点击而已。
进入Linux系统之后,我们就可以像配置一个普通Linux一样配置这台机器。
首先把ubuntu的软件源给换掉。编辑/etc/apt/sources.list文件,把它的内容换成下面的源。
- 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
然后,安装最好用的oh-my-zsh。先用sudo apt install zsh安装shell终端,然后运行下面的命令。
- sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
等待一小段时间,我们的终端颜值就更上一层楼了。
3. 安装Docker
安装Docker,直接从官方下载最新的Windows版本就可以了,不要下载一些其他平台的阿猫阿狗。地址在这里
- https://www.docker.com/products/docker-desktop
一路next即可安装。
启动之后,点击设置,然后更改镜像仓库。
因为一些不可明说的原因,docker官方的镜像仓库无法访问。你可以从下面这些挑选一个,或者直接全部写上 。
- ["https://registry.docker-cn.com",
- "https://dockerhub.azk8s.cn",
- "https://reg-mirror.qiniu.com",
- "http://hub-mirror.c.163.com",
- "https://docker.mirrors.ustc.edu.cn"
- ]
完事之后,不要忘了 apply & restart 重启生效一下。
此时在右下角,就出现了Docker的小图标,非常的赏心悦目。
3. 安装 portainer
有很多Docker的管理工具,但我独爱portainer,原因就是它好用,而且是基于web的。它不仅能管理单机上的docker,还能够管理局域网中的集群,只要你使用-H 0.0.0.0:2375把它监听在网络上。
我们来看它的一张图。
可以说,docker命令能搞的事情,在这个web应用上,都能搞。但首先我们得把它安装上去。
打开我们的wsl2的Ubuntu系统,此时你会发现,已经有了docker命令。我们在终端输入以下命令行。
- docker volume create portainer_data
- docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
稍等片刻,portainer就启动成功了。这得益于我们把镜像仓库切换到国内的原因。
访问 http://localhost:9000 端口,将出现portainer的设置界面。
在模板页面,有很多常见的软件应用,直接点击部署,就可以将软件安装在系统上。如果你是作为开发机使用,那么推荐使用docker的host模式,相当于使用主机的网络,和安装一个平常的软件没什么区别。
比如我想要一个MySQL数据库,就不需要再跑到MySQL官方下载一个,然后进入繁杂的安装程序中。直接在Docker上搞一个就可以了。
点击小箭头,可以直接在web上进入Docker虚拟环境的命令行终端,非常的方便。如果你平常要调研的额软件和中间件非常的多,想要快速体验它的功能效果,这不得不说是个非常好用的功能。
End
到此为止,我们的Docker开发环境就搭建完毕了。
如果你是一个命令行控,可以直接使用WSL终端提供的docker命令进行操作。但如果你对docker并不是非常熟悉,那么就可以使用portainer实现对Docker的管理。
人生苦短,如果把时间都花费在安装软件上,那是多么一件悲哀的事情。
搞定Docker,以后安装软件,只需要在google搜一下软件docker启动的命令就可以了。
省时省力,不易出错。即使你的公司没有虚拟化环境,docker作为一个开发工具,依然有它的价值。
作者简介:小姐姐味道 (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信xjjdog0,欢迎添加好友,进一步交流。