拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Docker 部署 TVBoxOSC:5 分钟跑通电视盒子管理中心

Docker 部署 TVBoxOSC5 分钟跑通电视盒子管理中心【免费下载链接】TVBoxOSCTVBoxOSC - 一个基于第三方项目的代码库用于电视盒子的控制和管理。项目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSCTVBoxOSC 安装卡在依赖冲突换个装法你在 N1 盒子上手工装 TVBoxOSC装到一半终端弹出依赖版本冲突换台设备又冒出新的报错就算跑起来了一次系统升级后服务再也启不来。TVBoxOSC 是一个面向电视盒子的控制与管理项目用来统一管设备与播放配置。用 Docker把程序连同它依赖的运行环境整体打包的平台来部署它能把这些反复折腾环境的事一次性解决。项目背景可以翻一下仓库自带的 README.md。Docker 部署 TVBoxOSC先分清谁干什么把这次部署理解成一场搬家项目代码是待搬家具Dockerfile 是装箱清单写清哪些零件打几箱Docker 是搬家货车照清单把货装进独立车厢宿主机环境再乱也不蹭货compose 文件编排多个容器如何协作的配置文件是物流调度单规定何时发车、行李柜volume 数据卷绑在哪。你只管按发车键。部署 TVBoxOSC 前的四项前置检查开工前花一分钟核对下表别等发车后才发现问题。检查项验证命令终端任意目录执行通过标志Docker 引擎已装docker -v输出 Docker version 2x.x 之类的版本号Compose 插件可用docker compose version显示 Compose version v2.x8080 端口空闲ss -ltn \| grep 8080无任何输出行磁盘剩余空间df -h ~Avail 一栏 ≥ 1GTVBoxOSC Docker 部署四步走取代码、装箱、调度、发车按下面四步走每步一句说明加一段代码照抄即可。第 1 步git clone 克隆 TVBoxOSC 代码先把项目代码克隆到一个专门的工作目录里后面的配置文件都和它平级放置不碰代码本身。展开查看代码# 以下命令在终端任意目录执行 mkdir -p ~/tvbox-deploy cd ~/tvbox-deploy # 克隆 TVBoxOSC 代码克隆出的 TVBoxOSC 目录保持原样 git clone https://gitcode.com/GitHub_Trending/tv/TVBoxOSC⚠️ 踩坑预警Dockerfile 与 docker-compose.yml 一律建在 ~/tvbox-deploy 这一层不要写进克隆出来的 TVBoxOSC 目录。第 2 步写 Dockerfile 装箱清单在 ~/tvbox-deploy 目录新建 Dockerfile它告诉 Docker 用哪个基础镜像、把哪些文件装进镜像、容器起来后跑什么命令。展开查看代码# 基础镜像带 JRE 的精简系统比完整版体积小 FROM eclipse-temurin:17-jre-alpine容器内的工作目录WORKDIR /app把克隆好的项目代码整目录搬进镜像相对构建上下文即 ~/tvbox-deployCOPY TVBoxOSC/ ./声明对外服务端口EXPOSE 8080容器启动后执行的命令拉起主程序CMD [java, -jar, tvboxosc.jar]⚠️ 踩坑预警如果克隆仓库里的启动文件不叫 tvboxosc.jar把 Dockerfile 最后一行改成实际的 jar 名即可。第 3 步写 docker-compose.yml 调度单同目录再建 docker-compose.yml把镜像构建、端口接通、数据存放、重启策略一次写齐。展开查看代码services: tvboxosc: build: context: . # 以当前目录为构建上下文Dockerfile 所在处 image: tvboxosc:local container_name: tvboxosc ports: - 8080:8080 # 把容器里的 8080 接到宿主机的 8080 上 volumes: - ./tvdata:/app/data # 数据卷随车行李柜配置与用户数据放这里 restart: unless-stopped⚠️ 踩坑预警冒号前的 8080 是宿主机端口被占用就改成 8081冒号后的容器端口别动。第 4 步docker compose 构建启动容器到这儿万事俱备一条命令让 Docker 照着清单装箱、发车。展开查看代码# 在 ~/tvbox-deploy 目录执行 docker compose up -d --build⚠️ 踩坑预警首次构建要拉基础镜像长时间停在下载进度属正常现象中途不要按 CtrlC。验证部署成功与容器端口占用排查先跑两条命令确认服务已就位展开查看代码# 在 ~/tvbox-deploy 目录执行查看容器状态 docker compose ps # curl 在任意目录执行请求健康检查接口 curl -i http://127.0.0.1:8080/health预期输出ps的 STATUS 列显示Up而不是Restarting或Exitedcurl返回第一行HTTP/1.1 200 OK。✅ 再打开浏览器访问 http://localhost:8080能看到管理界面即部署成功。排障对照表如下现象可能原因处理curl 8080 提示 Connection refused容器未启动或端口被其他程序占用先docker compose logs --tail 50看日志ss -ltnp \| grep 8080查占用换端口后重新docker compose up -d --build容器状态反复 Restarting主程序启动即退出jar 名不对或内存不够日志里搜 Error 关键字按报错改 Dockerfile或参考下一节加资源限额页面能打开但配置丢失数据卷没挂上应用写的是容器内临时路径确认 volumes 里 ./tvdata:/app/data 生效重启容器构建时 permission denied克隆文件权限过严在 Dockerfile 的 COPY 行后补一行RUN chmod -R ar /app小内存机器上容器被杀JVM 默认内存上限过大触发 OOM按下一节配置调小 memory 限额或给 JVM 加 -Xmx 参数进阶调优docker-compose 健康检查与 Docker 资源限额配置两项配置都写在 docker-compose.yml 里追加后在 ~/tvbox-deploy 目录执行docker compose up -d生效。给 TVBoxOSC 容器加 docker-compose 健康检查原理一句话Docker 按你设的节奏定期请求容器内指定接口连续失败就把容器标记为 unhealthy配合 restart 策略能自动把坏掉的服务拉起来。展开查看代码# 追加到 docker-compose.yml 的 services.tvboxosc 下 healthcheck: test: [CMD, wget, -q, --spider, http://127.0.0.1:8080/health] interval: 30s # 每 30 秒探一次 timeout: 10s # 单次探测超过 10 秒算超时 retries: 3 # 连续 3 次失败判定为不健康Docker 资源限额配置用 deploy.resources 封顶展开查看代码# 追加到 docker-compose.yml 的 services.tvboxosc 下 deploy: resources: limits: cpus: 0.5 # CPU 最多占半个核心 memory: 512M # 内存封顶 512MB配置生效后用docker stats tvboxosc观察CPU 与内存都会被压在这条线以内宿主机上的其他程序不会再被挤占。常见疑问TVBoxOSC 容器的数据、更新与多设备访问容器删了重建之前保存的配置还在吗在。数据卷 ./tvdata 落在宿主机磁盘上与容器生命周期无关想备份就把这个目录拷走恢复时拷回原位置再启动容器即可代码不用动。项目代码更新后怎么让容器用上新版本在 ~/tvbox-deploy 目录执行git -C TVBoxOSC pull拉取新代码再执行docker compose up -d --build重新构建启动旧容器自动替换数据卷里的内容原样保留。家里其他设备电视、手机能访问吗能。把浏览器地址里的 localhost 换成部署机器的局域网 IP例如 http://192.168.1.20:8080同一局域网的设备都可以用若连不上检查宿主机防火墙是否放行了 8080 入站。关键词TVBoxOSC Docker 部署、家庭媒体中心、docker-compose 配置、容器端口映射【免费下载链接】TVBoxOSCTVBoxOSC - 一个基于第三方项目的代码库用于电视盒子的控制和管理。项目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门