
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!https://github.com/openhab/openhab-docker/raw/main/openhab.png
https://ci.openhab.org/job/openHAB-Docker/badge/icon](https://ci.openhab.org/job/openHAB-Docker/) https://img.shields.io/badge/license-EPL%202-green.svg](https://opensource.org/licenses/EPL-2.0) https://img.shields.io/badge/version-4.3.5-blue](https://hub.docker.com/repository/docker/openhab/openhab/tags?name=4.3.5) https://img.shields.io/docker/stars/openhab/openhab.svg?cacheSeconds=2592000](https://hub.docker.com/r/openhab/openhab/) https://img.shields.io/docker/pulls/openhab/openhab.svg?cacheSeconds=2592000](https://hub.docker.com/r/openhab/openhab/) https://img.shields.io/github/issues/openhab/openhab-docker.svg](https://github.com/openhab/openhab-docker/issues) https://img.shields.io/github/stars/openhab/openhab-docker.svg](https://github.com/openhab/openhab-docker/stargazers) https://img.shields.io/github/forks/openhab/openhab-docker.svg](https://github.com/openhab/openhab-docker/network) https://www.codefactor.io/repository/github/openhab/openhab-docker/badge](https://www.codefactor.io/repository/github/openhab/openhab-docker) https://badges.gitter.im/openhab/openhab-docker.svg](https://gitter.im/openhab/openhab-docker?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
本仓库用于构建[***]
openHAB Docker镜像可在Docker Hub的https://hub.docker.com/r/openhab/openhab/%E4%BB%93%E5%BA%93%E4%B8%AD%E8%8E%B7%E5%8F%96%E3%80%82
特定版本:
openhab/openhab:<version>openhab/openhab:<version>-<distribution>最新稳定版本:
openhab/openhabopenhab/openhab:latestopenhab/openhab:latest-<distribution>最新里程碑或稳定版本:
openhab/openhab:milestoneopenhab/openhab:milestone-<distribution>最新快照版本:
openhab/openhab:snapshotopenhab/openhab:snapshot-<distribution>稳定版(Stable): 经过全面测试的半年官方发布版本。如果不需要最新增强功能并偏好稳定系统,建议在生产环境中使用稳定版。
4.3.5 (https://github.com/openhab/openhab-distro/releases/tag/4.3.5)4.2.3 (https://github.com/openhab/openhab-distro/releases/tag/4.2.3)里程碑版(Milestone): 下一个openHAB版本的中间版本,大约每月发布一次。包含最近添加的功能和错误修复,是当前稳定版和前沿但可能不稳定的快照版之间的良好折衷。
5.0.0.M3 (https://github.com/openhab/openhab-distro/releases/tag/5.0.0.M3)5.0.0.M2 (https://github.com/openhab/openhab-distro/releases/tag/5.0.0.M2)快照版(Snapshot): 通常是1或2天前的版本,包含最新代码。用于使用最新代码测试最近的更改。请注意,某些快照可能不稳定,因此在生产环境中使用需自行承担风险!
5.0.0-snapshotdebian: 基于Debian 12 "bookworm"(未指定标签时的默认版本)(https://github.com/openhab/openhab-docker/blob/main/debian/Dockerfile)alpine: 基于Alpine 3.22 (https://github.com/openhab/openhab-docker/blob/main/alpine/Dockerfile)Alpine镜像比Debian镜像小很多,但兼容性可能较差,因为使用了OpenJDK(有关已知缺点,请参见https://www.openhab.org/docs/installation/#prerequisites%EF%BC%89%E3%80%82%E8%BE%83%E6%97%A7%E7%9A%84%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E5%8F%AF%E8%83%BD%E4%BD%BF%E7%94%A8%E8%BE%83%E6%97%A7%E7%89%88%E6%9C%AC%E7%9A%84Debian%E5%92%8CAlpine%E5%9F%BA%E7%A1%80%E9%95%9C%E5%83%8F%E3%80%82
如果不确定自己的需求,建议使用openhab/openhab:4.3.5。
支持以下Docker平台(自动确定):
linux/amd64linux/arm64linux/arm/v7(Debian openHAB 4或更早版本,Alpine openHAB 2或更早版本)重要提示: 要能够使用UPnP进行发现,容器需要使用--net=host参数启动。
重要提示: 在容器中,openHAB默认以用户"openhab"(id 9001)运行。详见下面的用户配置部分!
以下命令将在主机上以演示模式运行openHAB:
bashdocker run --name openhab --net=host docker.xuanyuan.run/openhab/openhab:4.3.5
注意: 虽然这是启动openHAB的最简单方法,但不是推荐方法。要正确运行容器,请为目录指定主机卷。
以下配置使用Docker命名数据卷。即使删除或升级容器,这些卷也会保留。这是初学者的良好起点。卷将在Docker卷目录中创建。可以使用docker inspect openhab查找主机系统上的目录(例如/var/lib/docker/volumes)。有关更多信息,请访问https://docs.docker.com/engine/tutorials/dockervolumes/%E3%80%82
命令行运行
bashdocker run \ --name openhab \ --net=host \ -v /etc/localtime:/etc/localtime:ro \ -v /etc/timezone:/etc/timezone:ro \ -v openhab_addons:/openhab/addons \ -v openhab_conf:/openhab/conf \ -v openhab_userdata:/openhab/userdata \ -e "CRYPTO_POLICY=unlimited" \ -e "EXTRA_JAVA_OPTS=-Duser.timezone=Europe/Berlin" \ -d \ --restart=always \ docker.xuanyuan.run/openhab/openhab:4.3.5
使用compose-file.yml运行
创建以下docker-compose.yml文件,使用本地目录,并通过docker compose up -d启动容器:
yamlservices: openhab: image: "docker.xuanyuan.run/openhab/openhab:4.3.5" restart: always network_mode: host volumes: - "/etc/localtime:/etc/localtime:ro" - "/etc/timezone:/etc/timezone:ro" - "./openhab_addons:/openhab/addons" - "./openhab_conf:/openhab/conf" - "./openhab_userdata:/openhab/userdata" environment: CRYPTO_POLICY: "unlimited" EXTRA_JAVA_OPTS: "-Duser.timezone=Europe/Berlin" OPENHAB_HTTP_PORT: "8080" OPENHAB_HTTPS_PORT: "8443"
创建以下docker-compose.yml文件,使用Docker卷,并通过docker compose up -d启动容器:
yamlservices: openhab: image: "docker.xuanyuan.run/openhab/openhab:4.3.5" restart: always network_mode: host volumes: - "/etc/localtime:/etc/localtime:ro" - "/etc/timezone:/etc/timezone:ro" - "openhab_addons:/openhab/addons" - "openhab_conf:/openhab/conf" - "openhab_userdata:/openhab/userdata" environment: CRYPTO_POLICY: "unlimited" EXTRA_JAVA_OPTS: "-Duser.timezone=Europe/Berlin" OPENHAB_HTTP_PORT: "8080" OPENHAB_HTTPS_PORT: "8443" volumes: openhab_addons: driver: local openhab_conf: driver: local openhab_userdata: driver: local
通过配置额外的功能,可以运行所有带有libpcap支持的openHAB镜像。这允许在Docker容器中使用*Amazon Dash Button **ding。创建以下docker-compose.yml文件,并通过docker compose up -d启动容器:
yamlservices: openhab: container_name: openhab image: "docker.xuanyuan.run/openhab/openhab:4.3.5" restart: always network_mode: host cap_add: - NET_ADMIN - NET_RAW volumes: - "/etc/localtime:/etc/localtime:ro" - "/etc/timezone:/etc/timezone:ro" - "./openhab_addons:/openhab/addons" - "./openhab_conf:/openhab/conf" - "./openhab_userdata:/openhab/userdata"
host网络驱动程序仅在Linux主机上有效,在Windows和macOS上不受Docker支持。在Windows和macOS上,应通过向命令添加端口选项(-p 8080)或向docker-compose.yml添加ports部分来暴露端口。
yamlservices: openhab: image: "docker.xuanyuan.run/openhab/openhab:4.3.5" restart: always ports: - "8080:8080" - "8443:8443" volumes: - "./openhab_addons:/openhab/addons" - "./openhab_conf:/openhab/conf" - "./openhab_userdata:/openhab/userdata" environment: CRYPTO_POLICY: "unlimited" EXTRA_JAVA_OPTS: "-Duser.timezone=Europe/Berlin" OPENHAB_HTTP_PORT: "8080" OPENHAB_HTTPS_PORT: "8443"
可以挂载本地主机目录来存储配置文件。如果已按照初学者指南操作,则无需阅读本部分。以下run命令将创建文件夹并为您复制初始配置文件。
bashdocker run \ --name openhab \ --net=host \ -v /etc/localtime:/etc/localtime:ro \ -v /etc/timezone:/etc/timezone:ro \ -v /opt/openhab/addons:/openhab/addons \ -v /opt/openhab/conf:/openhab/conf \ -v /opt/openhab/userdata:/openhab/userdata \ -e "CRYPTO_POLICY=unlimited" \ -e "EXTRA_JAVA_OPTS=-Duser.timezone=Europe/Berlin" \ docker.xuanyuan.run/openhab/openhab:4.3.5
如果使用Ansible控制环境,以下是一个示例playbook。可以通过运行ansible-playbook -i mycontainerhost, -t openhab run-containers.yml进行测试。卷行末尾的:Z用于SELinux系统。如果在其他地方运行,请将其替换为ro。
yaml- name: 确保容器正在运行 hosts: all tasks: - name: 确保openhab已启动 tags: openhab docker_container: name: openhab image: docker.xuanyuan.run/openhab/openhab:4.3.5 state: started detach: yes ports: - 8080:8080 - 8101:8101 - 5007:5007 volumes: - "/etc/localtime:/etc/localtime:ro" - "/etc/timezone:/etc/timezone:ro" - "/opt/openhab/addons:/openhab/addons:Z" - "/opt/openhab/conf:/openhab/conf:Z" - "/opt/openhab/userdata:/openhab/userdata:Z" keep_volumes: yes hostname: openhab.localnet memory: 512m pull: true restart_policy: unless-stopped env: CRYPTO_POLICY="unlimited" EXTRA_JAVA_OPTS="-Duser.timezone=Europe/Berlin"
可以使用以下命令连接到已运行的openHAB容器的控制台:
bashdocker exec -it openhab /openhab/runtime/bin/client
登录的默认密码是:habopen
服务器模式
当未提供TTY时,容器以服务器模式启动openHAB,例如:
bashdocker run --detach --name openhab docker.xuanyuan.run/openhab/openhab:4.3.5
当容器以服务器模式运行时,还可以添加控制台日志器,使其将日志打印到stdout,以便使用以下命令检查名为"openhab"的容器的日志:
bashdocker logs openhab
要在openHAB 3(或更高版本)中使用控制台日志器,请编辑userdata/etc/log4j2.xml,并将以下appender添加到"Root logger"和"openhab.event" logger配置中:<AppenderRef ref="STDOUT"/>
要在openHAB 2中使用控制台日志器,请编辑userdata/etc/org.ops4j.pax.logging.cfg,然后:
log4j2.rootLogger.appenderRefs = out, osgi, consolelog4j2.rootLogger.appenderRef.console.ref = STDOUT常规模式
当提供TTY时,openHAB以交互式控制台启动,例如:
bashdocker run -it docker.xuanyuan.run/openhab/openhab:4.3.5
调试模式
调试模式通过以下命令启动:
bashdocker run -it docker.xuanyuan.run/openhab/openhab:4.3.5 ./start_debug.sh
CRYPTO_POLICY=limitedEXTRA_JAVA_OPTS=""EXTRA_SHELL_OPTS=""LC_ALL=en_US.UTF-8LANG=en_US.您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务