Docker部署homeassitant
Docker部署homeassitant
一、Docker介绍
我们知道,一台物理机需要运行多个程序,然而每个程序又需要各自不同的一堆依赖,所有程序全装上的话,整个物理机系统会变得混乱不堪,同时也容易出问题,使得我们后续维护比较困难。而如果利用docker,就可以直接下载一个镜像,投入使用,整个流程就变得简单了,详细介绍可以看官方文档。
贴上地址:https://docs.docker.com/get-started/
二、部署homeassitant
本文采用的部署方式是:通过云服务器部署hass,之后通过hass集成小米智能家居设备。
准备一台云服务器
- 操作系统:CentOS 7.7 64位
1、安装docker
连接上云服务器后:
贴下命令
# 先切换到root 用户,先安装一些基本环境:
yum install -y yum-utils device-mapper-persistent-data lvm2
#添加阿里云软件源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#然后安装 Docker 社区版
yum -y install docker-ce
#启动 docker
systemctl start docker
#设定开机自动启动docker
systemctl enable docker
#查看docker运行状态
systemctl status docker
#查看 docker 版本信息
docker version
版本信息:
- docker 服务显示为绿色的 running 了,表示运行中
需要注意的是,docker 默认要求必须使用 root 用户或者 docker 用户组里的用户,才能进行操作
#把当前用户加入 docker 用户组
sudo usermod -a -G docker 用户名
#重启 docker 服务
sudo systemctl restart docker
2、安装portainer容器管理图形界面
portainer可以选择性安装,只是比较方便操作
贴下命令:
#拉取最新镜像
docker pull portainer/portainer
#运行容器
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
#参数说明:
-d:容器在后台运行;
-p 9000:9000:把容器的9000端口映射到宿主的9000端口,这是访问portainer管理页面需要用的端口
-v /var/run/docker.sock:/var/run/docker.sock :把宿主机目录挂载到容器中同样的位置
-v portainer_data:/data #把宿主机portainer_data数据卷挂载到容器/data目录访问:IP+9000端口,就会看到 portainer 管理页面了
portainer 管理页面:
3、部署hass
#拉取hass的最新版镜像(注意:根据自己需求选择对应版本,并不是越新越好)
docker pull homeassistant/home-assistant:latest
#创建容器并运行
docker run -d --name="hass" -v /home/hass/config:/config -p 8123:8123 -p homeassistant/home-assistant:latest
解释:
-d:表示在后台运行
–name:给容器设置一个名称,用于识别,这里起名叫做hass
-v:配置目录映射(容器内的指定目录直接映射到本地主机的对应目录,比如上面那句命令,意思就是将容器里hass的 config 目录映射到 /home/hass/config 这个目录里面)
-p:映射端口(将容器内的8123端口直接映射到物理机的8123端口,这样服务器的IP地址+端口号即可访问hass页面)
最后就是运行刚才下载的容器镜像了,对于其他的版本了,注意要加上tag,避免自动下载最新版本。
4、访问hass
- 访问页面
到此,hass就在云服务器就部署好了,下面通过Hass,连接智能设备,本文通过连接小米智能设备来演示。
三、连接小米智能家居设备
1、安装HACS
- 安装HACS(Home Assistant Community Store,一个商店,集成丰富,依托于GitHub。
#进入hass目录,安装hacs
docker exec -it hass bash
wget -p -o - https://get.hacs.xyz |bash -
重启hass
经过与GitHub授权访问后,你可以将HACS添加进组件中了。
2、安装xioami_miot
通过hacs自动安装
- 打开 Home Assistant 的 HACS 页面。
- 搜索xiaomi_miot
- 点击
集成
。 - 点击右下角的
浏览并添加存储库
。 - 在新打开的页面中找到
Xiaomi MIoT
,安装即可。
手动安装
下载插件 zip 压缩包
贴上: https://github.com/ha0y/xiaomi_miot_raw/archive/refs/heads/master.zip
依次打开压缩包中的
xiaomi_miot_raw-master
/custom_components
文件夹。将该文件夹中的
xiaomi_miot_raw
文件夹拷贝至自己 hass 安装目录的custom_components
文件夹,即替换掉原来的xiaomi_miot_raw重新启动 Home Assistant。
3、集成小米智能设备
- 配置界面->添加集成->搜索xiaomi_miot->登录小米账号
- 自动识别该账号下的智能设备
- 添加
现在,我们可以通过部署在云服务器上的Hass,来操控我们的小米智能家居设备了,所以索性买了灯泡和台灯试了试
苹果用户的话,也可以直接下载Hass
当然,直接集成homekit,也可以同步小米的设备,能更方便的操作。大家可以试试
四、docker常用命令
附上docker常用的一些操作指令:
docker images 查看镜像
docker rmi 镜像id 删除镜像
docker ps-a 查看已有容器
docker start 容器id 运行容器
docke ps 显示所有运行中的容器
docker ps -a 显示所有容器
docker rm 容器 ID 或名称 删除容器
docker start 容器 ID 或名称 启动指定容器
docker stop 容器 ID 或名称 停止指定容器
docker restart 容器 ID 或名称 重启指定容器
Docker部署homeassitant相关推荐
- Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
Docker 部署SpringBoot项目整合 Redis 镜像做访问计数Demo 最终效果如下 大概就几个步骤 1.安装 Docker CE 2.运行 Redis 镜像 3.Java 环境准备 4. ...
- Docker 部署SpringBoot项目不香吗?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:流星007 链接:toutiao.com/i68433912 ...
- docker部署springboot_Docker+SpringBoot快速构建和部署应用
前言 Docker技术发展为当前流行的微服务提供了更加便利的环境,使用SpringBoot+Docker部署和发布应用,其实也是一件比较简单的事情.当前,前提是得有Docker的基础. 构建一个Spr ...
- docker初体验:docker部署nginx负载均衡集群
Docker 是一个用于开发,交付和运行应用程序的开放平台.Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件.今天来为大家演示一下docker部署nginx负载均衡集群 环境 ce ...
- docker初体验:docker部署nginx服务
Docker 是一个用于开发,交付和运行应用程序的开放平台.Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件.今天来为大家演示一下docker部署nginx 环境 centos7 ...
- Docker系列 四.Docker部署SpringBoot
四.Docker部署SpringBoot 环境&工具: 阿里云轻量级服务器.CentOS 7系统.FinalShell(其他连接客户端也可以).IDEA 1. 创建springboot项目 这 ...
- Docker部署文档
Docker部署文档 目录 Docker部署文档 1 一.什么是Docker 3 1.1Docker简介 3 1.2对比传统虚拟机总结 4 1.3Docker通常用于如下场景: 5 1.4基本概念 5 ...
- Docker部署Zookeeper集群
Docker部署Zookeeper集群 官方网站: http://zookeeper.apache.org/ http://zookeeper.apache.org/doc/r3.4.8/zookee ...
- 部署go的web应用_使用Docker部署Go Web应用
为什么需要Docker? 使用docker的主要目标是容器化.也就是为你的应用程序提供一致的环境,而不依赖于它运行的主机. 想象一下你是否也会遇到下面这个场景,你在本地开发了你的应用程序,它很可能有很 ...
- docker部署python web应用_在 Docker 中运行一个 Python 的 Web 应用
几周前, Elastic Beanstalk声明在AWS云中配置和管理Docker容器.在本文中,我们通过一个简单的注册表单页面应用去理解Docker部署过程,该表单使用Elastic Beansta ...
最新文章
- android 按住拖动gallery防止马上加载数据导致gallery卡的方法
- 博三才发文章,打破学校零记录,华科博士入职华为年薪201万
- KVM总结-KVM性能优化之网络性能优化
- 图的链式前向星表示及深度广度优先遍历
- 企业级生产环境CICD入门
- 航天生物计算机新能源你对哪个领域的课,写作《语言简明》课件.ppt
- Helm 3 完整教程(十九):Helm 流控制结构(3)range 语句
- input输入框只允许输入数字/ 数字+小数点/ 文字+字母/ 等解决方法
- 为ASP.NET MVC Client-side Resource Combine 添加中文支持
- 关联规则算法Apriori的学习与实现
- C向Python传递数组参数时,调用函数后才能销毁
- Win10无线投屏功能安装失败解决办法
- 圆锥曲线之用齐次法求解直线过定点问题
- 网课公众号搜题接口获取教程
- 网络科学论坛纪要-2012
- 实习收获之 获取json对象键值的几种方法
- 个人技术总结——Unity中角色动画制作及动画切换逻辑的实现
- 用STM32和ULN2003控制28BYJ-48步进电机正反转固定角度
- mybatis批量更新数据三种方法效率对比
- 证伪主义 | A Little Sight of Falsification
热门文章
- CALLBACK / 回调(diao)
- centos6.5 大于16T硬盘 分区和格式化挂载
- 服务器硬盘噪音大怎么回事,东芝服务器硬盘响声大吗?
- 四大里snr是什么职位_四大会计师事务所人员流动性高的原因是什么?
- php流量计算单位,数据流量单位换算(流量单位的读法和换算)
- BAT脚本编写教程(比较易懂和全面)
- X86和X64的区别
- 图书馆图书管理系统python_使用python的简易图书馆管理系统
- linux给文件夹图标,Linux 如何在启动器中自定义图标
- AIX 修 炼 之 路