Py学习  »  docker

将你的Windows,快速打造成Docker工作站!

程序员技术 • 2 年前 • 207 次点击  
👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。

手里的macbook因为键盘问题返厂维修了,只好抱起了久违的Windows。首先面临的,就是Docker问题。

docker好用,但安装麻烦,用起来也命令繁多。一个小白,如何打造舒适的docker环境,是一个非常有挑战的问题。

本文将手把手的教你怎么把docker方便的搞到windows上,打造一个好用的开发环境,并安装好用的管理工具。所以本文包含以下内容:

  1. 安装Windows10
  2. 安装WSL2环境
  3. 安装Ubuntu操作系统
  4. 安装Docker
  5. 安装portainer
  6. 使用方法

篇幅较长,所以本文暂时杜绝废话。力求一气呵成,半小时内手握白富美。

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。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

点击👆卡片,关注后回复【面试题】即可获取

在看点这里好文分享给更多人↓↓

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/115494
 
207 次点击