在 M2 Mac Mini 上通过 Docker 运行 Home Assistant

在 M2 Mac Mini 上通过 Docker 运行 Home Assistant

我理解 Docker 的概念。但是,我无法通过 Mac Mini(带有 M2 芯片)让 Home Assistant 在 Docker 中运行。目前,我有以下情况:

Dockerfile

# Start the home assistant base image
FROM homeassistant/home-assistant

# Open a port to 
EXPOSE 3001

然后我运行docker build --tag home-assistant .。此方法成功创建了一个名为“home-assistant”的镜像。当我尝试运行该镜像时,系统提示我输入端口号,因此我选择“0”。系统提示我容器已成功启动。但是,当我访问 Docker Desktop 中提供的 URL 时,我只看到一个网页,上面写着:“此页面无法正常工作”

我究竟做错了什么?

答案1

不要使用端口零,请尝试 12345 之类的端口

0 到 1023(0 到 210 − 1)范围内的端口号是众所周知的端口或系统端口。[3] 它们由提供广泛使用的网络服务的系统进程使用。在类 Unix 操作系统上,进程必须以超级用户权限执行,才能使用其中一个众所周知的端口将网络套接字绑定到 IP 地址。

有关详细信息,请参阅此维基百科文章

https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

答案2

这是我尝试过的并且有效

  • 创建此文件Makefile
.PHONY: run test

run:
    docker run --rm -d \
        --name=homeassistant \
        -h homeassistant \
        -e PUID=1001 \
        -e PGID=1001 \
        -e TZ=America/New_York \
        -p 8123:8123 \
        -v homeassistant:/config \
        homeassistant/home-assistant:stable

test:
    curl -sI http://0.0.0.0:8123/onboarding.html | grep Server

  • 运行 docker 镜像
make run
  • 检查服务器是否正在运行
curl -sI http://0.0.0.0:8123/onboarding.html | grep Server
Server: Python/3.11 aiohttp/3.8.4
  • 在浏览器中打开 UI

http://0.0.0.0:8123/onboarding.html

在此处输入图片描述

相关内容