首先说明,此文章是废弃的! 目前仅仅是记录一下 Win 系统下 Docker 的配置过程, HA 这应用不建议使用此方法,依旧建议黑群晖或者虚拟机 Linux 运行 Docker。

本来是打算用 Win+Docker 实现斐讯 DC1 插排控制,但后面仔细一研究 Win 系统下的 Docker 网络层级,发现实在太坑,此方法于是放弃这篇文章实际也没用了,不过还是放出来留着看看吧


HomeAssistant(下文中简称 HA)是一套开源的智能家居控制系统,简单来说就是类似苹果的 HomeKit 与小米的米家这类,智能设备可以通过平台统一控制管理,具体更多信息可以通过搜索引擎了解,在此也不做过多介绍了。

HA 的运行方式多种多样,Linux/Windows/Mac 三大系统都可以,安装方式也有直接安装/虚拟机/Docker 等各种,这个根据自己手头设备情况来选择即可。还需要自家有一台长期开机稳定运行的设备,比如群晖这类成品 NAS 或树莓派等开发板,亦或是自己组装的 NAS。

演示机子为本人的 NAS,系统为 Server 2019,采用 Docker 方式配置服务端。


首先去官网下载 Docker 安装包,体积比较大,官网下载需要先注册一个账户。由于注册时有个谷歌的人机验证,不科学上网的话加载不出来,这里也附上直链下载地址:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe

然后先去把系统的 Hyper-V 功能打开,这个网上已经有各种教程了,搜索一下即可,开启功能后需要重启一次系统。

然后就是安装 Docker 了,过程极为傻瓜,直接运行安装包即可,稍等片刻看到下图界面,直接点 OK 即可。

再等待一会,看到下图界面就是安装完成了,按照提示注销一次系统重新登录即可。


安装完成后再来顺便配置一下,把镜像源换成国内阿里云的,以后要搞点别的东西也方便一点。 这是可选操作, 懒得搞的可以跳过这一步。

首先去阿里云官方的容器镜像服务页面:https://cr.console.aliyun.com/

阿里云老用户自不用说,新用户可以直接用现有淘宝或者支付宝账户登录,登陆后选择左边镜像加速器,会看到一个个人地址,页面下方也提供了各种系统更换源的教程,照着操作即可。


打开命令行,输入 docker version ,可以查看 Docker 安装是否成功,如下图显示版本信息的话就是成功了。


接着就是安装 HA 了,HA 作为开源软件本身也是个更新狂魔,狂刷版本号和 Chrome 有的一拼,这里演示使用 0.91.3 版。

命令行里运行:

docker pull homeassistant/home-assistant:0.91.3

拉取 0.91.3 版的镜像,运行后如下图,会下载一些数据,稍等即可。注意命令后面一定要跟版本号,不然默认都是直接拉取最新版。

等镜像下载完后,接着运行先这条指令:

docker run -d --name="ha0.91.3" -v /C/hass/config:/config -p 8123:8123 homeassistant/home-assistant:0.91.3

附带解释命令意思:

-d:表示在后台运行

–name:给容器设置一个名称,用于识别,后面操作重启等命令时都需要用到这个名字,这个可以自己随便改成简单易记的,这里我起名叫 “ ha0.91.3 ”。

-v:配置目录映射(容器内的指定目录直接映射到本地主机的对应目录,比如上面那句命令里,意思就是将容器里系统的 config 目录映射到 C:\hass\config 这个目录里,加粗的文字表示物理机上对应的目录,可以根据自己需求修改)

-p:映射端口(将容器内的 8123 端口直接映射到物理机的 8123 端口,这样输入 NAS 的 IP 地址即可访问 HA 页面)

最后就是运行刚才下载的容器镜像了,一定要注意最后还是要加上版本号 tag,不然系统找不到对应镜像,又会去自动下载最新版

上面这句命令运行,因为要涉及本地目录授权映射,会弹出来一个要求输入当前系统用户密码的窗口,输入对应密码即可。

然后会出现一串容器 ID,即代表运行成功了。

密码输入窗口
运行成功会显示一串容器 ID

然后可以输入

docker ps

查看容器运行状态,如下图

接着来下载一个 Kitematic 程序,这是提供图形化界面管理容器的工具,在任务栏右下角的 Docker 鲸鱼图标右键,就可以选择下载。虽然 Docker 本身就可以通过系统命令行进行管理,但有个图形界面毕竟还是方便不少。

官网下载可能速度会比较慢,这里也提供一个百度云地址:

链接:https://pan.baidu.com/s/1f_C1WlLBu-2BbLCYPQPKsA 
提取码:ahla 

这个是绿色程序,下载完后解压,运行里头的 Kitematic.exe 即可。

打开程序,默认情况下,左边列表就是自动显示出来已配置好的容器,右边则是镜像库,可以一键部署各种现成的镜像。库的加载取决于个人网络情况,可能会出现加载不出来的情况,这个不要紧,本文的操作里并不需要用到这些。

点击左侧栏里布置的 HA 容器,再右上角的 Setting 设置。红框里的按钮可以对容器进行关闭,重启等操作,涉及的单词都很简单,应该都能看懂。

Kitematic 本身的功能非常多,可以对容器进行各种方便的操作,各种功能自己研究一下都能懂。

经过以上步骤,Win 系统下使用 Docker 搭建 HA 服务器就配置完成了,默认访问地址为物理机 IP+8123 端口。

由于是 Win 系统,还需要去防火墙设置里放行一下入站的 8123 TCP 端口,相关教程网上多得是,不再赘述了。

HA 页面成功访问的样子,先创建一个管理员账户后即可登陆使用:

另外注意不建议轻易更新 HA 版本,保持默认的关闭更新提示即可。


最后一些额外说明:

在 win10 及以上的系统里,Docker 是借助系统 Hyper-V 虚拟机来运行的,所以创建完容器后其实也可以通过 Hyper-V 管理器来管理虚拟机。

默认创建的虚拟机文件都放在 C 盘,内存分配了 2G。要是你 C 盘空间紧张,物理机内存不足,这些参数全都可以自己修改,具体参考有关 Hyper-V 的教程即可。


本文参考来源:

使用 Docker 来安装 Home-Assistant

Home Assistant 中文文档

window10 上 docker 修改镜像源

2222

站长 at 梨数码
我要是有钱多好~
2222

Docker 容器的常用网络模式与容器之间互访

开一篇文章记录一下 Docker 的网络相关,查资料费半天劲还没几个讲的易懂的,不如自己整理一篇作为备忘。 Docker 里创建的容器默认有三种联网方式,...

阅读全文

Docker 中安装 Rocket.Chat 聊天程序

Rocket.Chat 是一个在线实时聊天程序,功能完善,而且各个操作系统平台均有对应的客户端程序,本文说明一下在 Docker 中的安装方法,有兴趣的可以参考研...

阅读全文

如何管理 Docker 容器里的文件

之前的文章里介绍了 Docker 的基本操作,再来水一篇文章说说怎么对容器里的文件进行管理。 Docker 容器虽然类似虚拟机,但如果想要物理机和容器内系...

阅读全文

欢迎留言