CHNG

Menu

树莓派上使用Docker部署Homeassistant实现智能家居系统

大一结束,从朝晖校区搬迁到屏峰校区。
由于一些众所周知的原因(寝室准shi备zai修tai缮po),遂萌生了重新改造寝室的想法。
PS:我写这篇文章是在装修之前,所以可能是个坑(大概率)
以下为正文

第一次接触智能家居(第二次,如果那个智sha能diao门锁也算的话),准备从树莓派着手。但是由于时间紧张(mei qian),于是使用VMWare安装了Raspberry Pi OS 的虚拟机,先试一试手。故这篇文章是完全基于虚拟机里的Debian Buster RaspberryPi OS x86_64(amd64)来写的。

第一步,安装虚拟机

此部略,自行百度

第二步,安装docker

警告:切勿在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker.

系统要求

Docker CE 在Debian系统下支持一下版本:

因此,树莓派4(使用Buster 10),支持Docker CE。

开始

首先,需要卸载旧版本的Docker(Docker-engine、Docker.io)
$ sudo apt-get remove docker \ docker-engine \ docker.io

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书
$ sudo apt-get update $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg2 \ lsb-release \ software-properties-common

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。

为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -
# 官方源
# $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

然后,我们需要向 source.list 中添加 Docker CE 软件源:

$ sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian \
$(lsb_release -cs) \
stable"
# 官方源
# $ sudo add-apt-repository \
# "deb [arch=amd64] https://download.docker.com/linux/debian \
# $(lsb_release -cs) \
# stable"

以上命令会添加稳定版本的 Docker CE APT 源,如果需要最新或者测试版本的 Docker CE 请将 stable 改为 edge 或者 test。从 Docker 17.06 开始,edge test 版本的 APT 源也会包含稳定版本的 Docker CE。

更新 apt 软件包缓存,并安装 docker-ce。

$ sudo apt-get update
$ sudo apt-get install docker-ce

启动 Docker CE

$ sudo systemctl enable docker
$ sudo systemctl start docker

建立 docker 用户组

默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。

建立 docker 组:

$ sudo groupadd docker

将当前用户加入 docker 组:

$ sudo usermod -aG docker $USER($USER表示当前用户)

退出当前终端并重新登录,进行如下测试。

测试 Docker 是否安装正确

$ docker run hello-world

若能正常输出信息,则说明安装成功。

Docker镜像加速

创建或修改 /etc/docker/daemon.json 文件,修改为如下形式

{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}

方法二:
阿里云容器 生成自己的加速地址
登录:https://cr.console.aliyun.com/
点击“镜像加速器”即可获取专属的Docker镜像地址,可以把这个地址放在第一个。

重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker

查看是否成功
docker info

第三步,安装Portainer

Docker默认是没有任何界面的,要操作镜像就只能像前面运行hello-world测试一样敲进去执行,如果需要进行一些复杂的操作就很令人头疼了,因此需要安装一个新手友好一点的界面来帮助大家使用,也就是PORTAINER。
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

之后,访问IP:9000即可看到Portainer的登陆页面

— 于 共写了2399个字
— 文内使用到的标签:

评论已关闭。