docker homeassistant 使用物理网络

默认情况下 docker 使用 Bridge网络模式 容器运行在一个docker 172开头的子网 通过 iptables dnat 通过宿主与外部主机通信

也可以通过 docker macvlan bridge 使容器获取物理子网

1.宿主开启转发

/etc/sysctl.conf
net.ipv6.conf.all.forwarding = 1
net.ipv4.ip_forward=1

2.创建dokcer macvlan

查看docker当前的network
sudo docker network ls

创建macvlan物理子网
ipv6使用ula地址

sudo docker network create -d macvlan --subnet=192.168.11.0/24 --gateway=192.168.11.1 --ipv6=true --subnet=fd72:c7e3:b338:b914::/64 --gateway=fd72:c7e3:b338:b914::1-o parent=enp1s0 -o macvlan_mode=bridge phynet

3.配置docker homeassistant

sudo docker search homeassistant
sudo docker pull homeassistant/home-assistant

在宿主创建配置目录 添加组件和配置 configuration.yaml 都在这个目录
即便删除容器 只要这个目录还是存在的 每次重新创建心的容器 原来的配置依然存在
sudo mkdir -p /etc/homeassistant/config

创建容器
sudo docker run -d --name=ha -v /etc/homeassistant/config:/config -e TZ=Asia/Shanghai --ip=192.168.11.222 --ip6=fd72:c7e3:b338:b914:5b5b:f3a9:7052:c12b --dns=192.168.11.11 --network phynet --restart=always homeassistant/home-assistant:latest

4.宿主访问容器

docker 宿主无法访问 通过macvlan创建的地址 这是被限制的 因此需要为宿主创建一个新的ip地址绕过docker的限制

在宿主配置新的接口docker-br 这个接口专门用来访问上述通过macvlan创建容器 从而绕过限制
ip link add docker-br link enp1s0 type macvlan mode bridge
ip addr add 192.168.11.111 dev docker-br
ip -6 addr add fd72:c7e3:b338:b914::11:1111 dev docker-br
ip link set docker-br up
ip -4 route add 192.168.11.11 dev docker-br
ip -6 route add fd72:c7e3:b338:b914:5b5b:f3a9:7052:c12b dev docker-br

如果容器的ipv6地址通过 slaac 自配置的而不是上述设置静态ipfd72:c7e3:b338:b914:5b5b:f3a9:7052:c12b 需要获取容器的slaac地址然后替换到路由表

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Docker 是一个流行的容器化平台,而 Home Assistant 是一个智能家居自动化平台。使用 Docker 可以轻松地安装和运行 Home Assistant,同时保证应用程序的可移植性和环境隔离。 要在 Docker 中安装 Home Assistant,可以按照以下步骤操作: 1. 安装 Docker。可以根据操作系统的不同,参考 Docker 官方文档进行安装。 2. 搜索 Home Assistant 镜像。可以使用以下命令在 Docker Hub 上搜索镜像: ``` docker search homeassistant ``` 3. 从 Docker Hub 下载 Home Assistant 镜像。可以使用以下命令下载最新版本的 Home Assistant: ``` docker pull homeassistant/home-assistant ``` 4. 创建一个新容器。可以使用以下命令创建一个新的 Home Assistant 容器: ``` docker run --init -d --name="home-assistant" -v /path/to/config:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant ``` 在上面的命令中,`/path/to/config` 应该替换为你自己的 Home Assistant 配置目录。 5. 启动容器。可以使用以下命令启动 Home Assistant 容器: ``` docker start home-assistant ``` 现在,Home Assistant 就已经成功地在 Docker 中安装和运行了。你可以通过浏览器访问 http://localhost:8123 来访问 Home Assistant 的 Web 界面。 ### 回答2: Docker是一种容器化技术,可以使应用程序在各种环境中保持一致性和可移植性,同时允许应用程序在自己的环境中独立运行。Home Assistant是一款流行的免费开源的智能家居自动化平台,它可以自动控制多个家居设备并提供智能场景。Docker Home Assistant是将Home Assistant安装在Docker容器中的解决方案,它可以帮助用户快速、轻松地部署、配置和运行Home AssistantDocker Home Assistant的优点主要有以下几点: 1. 简化安装和配置过程。Docker Home Assistant可以自带配置好的系统和环境,用户只需要下载Docker镜像即可快速启动运行Home Assistant,从而省去了繁琐的安装和配置过程。 2. 提供可移植性和灵活性。Docker容器可以轻松部署到不同的服务器和平台上,从而提供了更大的灵活性和可移植性。如果用户需要迁移或备份Home Assistant时,只需将Docker容器拷贝到新的主机上即可。 3. 更好的安全性和隔离性。Docker使用容器隔离技术,可以将应用程序与底层操作系统分离,从而极大地减少了操作系统和应用程序之间的安全风险。即使Home Assistant遇到了安全漏洞,也不会影响主机系统的安全性。 4. 强大的管理和监控功能。Docker提供了许多工具来管理和监控容器,用户可以实时查看Docker Home Assistant的运行情况,如CPU、内存使用情况等,并可以通过Docker命令来管理容器,如启动、停止、删除等操作。 总之,Docker Home Assistant是一种方便、快速、安全、可移植的Home Assistant部署方式,可以帮助用户快速上手Home Assistant,并提高系统的安全性和灵活性。 ### 回答3: Docker是一款非常方便的虚拟化工具,可以帮助用户轻松地在不同的操作系统上运行应用程序。Home Assistant是一套智能家居自动化系统,可以将各种设备进行联合控制,并以图形界面进行展示。 使用Docker可以将Home Assistant部署到不同的设备上,比如电脑、树莓派等,轻松地在不同的设备上进行搭建和运行。这大大方便了用户的使用,也为智能家居系统的推广和普及提供了技术上的保障。 同时,使用Docker可以方便地进行版本管理和更新,保证系统的稳定性和安全性。用户也可以轻松地进行自定义配置和插件添加,满足各种不同用户的需求。 总之,Docker homeassistant是一款非常实用的智能家居自动化系统。它将技术与生活紧密结合,为人们的生活带来了更多的便利和舒适。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值