
TVBoxOSC 容器化部署電視盒子管理一條命令跑起來【免費(fèi)下載鏈接】TVBoxOSCTVBoxOSC - 一個基于第三方項目的代碼庫用于電視盒子的控制和管理。項目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSC在電視盒子上折騰過部署的人都知道同一套程序在這臺盒子跑得好好的換一臺就開始報 Java 版本不對、端口被占用環(huán)境依賴排查一下能占掉一整個下午。用 Docker 部署 TVBoxOSC思路是把運(yùn)行環(huán)境整個裝進(jìn)容器機(jī)器只要能跑 Docker剩下的就是一條命令的事。它到底是什么TVBoxOSC 是一個電視盒子控制管理項目代碼庫基于上游第三方項目來源見 README.md 的 Credits 部分并通過 CI 定時自動構(gòu)建發(fā)版構(gòu)建邏輯在 .github/workflows/。和在一臺臺盒子上手動裝相比容器化部署把程序和環(huán)境解耦了同一份鏡像放到不同盒子行為基本一致。適合需要把多臺電視盒子納入統(tǒng)一運(yùn)行環(huán)境的場景。 動手之前把環(huán)境檢查一遍Docker 已安裝且守護(hù)進(jìn)程在跑docker version不報錯Docker Compose用來按依賴關(guān)系一次性拉起并管理多個容器的工具可用docker compose version有輸出宿主機(jī) 8080 端口沒有被別的服務(wù)占用機(jī)器能訪問 gitcode 代碼托管 跑起來把代碼拉到本地git clone https://gitcode.com/GitHub_Trending/tv/TVBoxOSC cd TVBoxOSC寫好 Dockerfile 和編排文件在項目根目錄新建Dockerfile和docker-compose.yml。注意這兩個文件不屬于倉庫本身只是部署用的配套文件倉庫現(xiàn)有內(nèi)容一個字節(jié)都不用動。Dockerfile構(gòu)建鏡像的指令文件# 基礎(chǔ)鏡像8 版 Java 運(yùn)行環(huán)境 FROM openjdk:8-jre-alpine WORKDIR /app COPY . . EXPOSE 8080 CMD [java, -jar, tvboxosc.jar]docker-compose.ymlversion: 3 services: tvboxosc: build: . ports: - 8080:8080 # 宿主機(jī)端口:容器端口 volumes: - ./data:/app/data restart: alwaysEXPOSE只是聲明端口真正的映射由 compose 里的ports完成volumes把./data掛進(jìn)容器重建容器時數(shù)據(jù)還在。構(gòu)建鏡像確認(rèn)它活著兩個文件就位后剩下的事交給 Composedocker compose up -d首次構(gòu)建要拉基礎(chǔ)鏡像、跑構(gòu)建步驟耐心等幾分鐘。起來之后看一眼狀態(tài)和日志docker ps docker compose logs -f日志正常滾動、沒有 ERROR瀏覽器打開http://localhost:8080就能看到管理界面部署完成。之后怎么管看實(shí)時日志docker compose logs -f按 CtrlC 退出停止服務(wù)docker compose down容器和數(shù)據(jù)卷都停掉更新系統(tǒng)先git pull再docker compose up -d --build--build會強(qiáng)制重建鏡像編排配置不用動?? 容易踩的坑啟動報 8080 端口被占用 → 宿主機(jī)上有別的服務(wù)占著端口 → 把 compose 里映射左側(cè)換成空閑端口如80:8080容器內(nèi)端口不用改日志里報找不到 jar → 鏡像里根本沒有那個啟動文件 → 核對 Dockerfile 中CMD寫的文件名和目錄里的實(shí)際文件是否一致git pull之后跑的還是舊版 → 重建時沒加--build容器復(fù)用了舊鏡像 → 更新時永遠(yuǎn)帶著--build參數(shù)鏡像本身偏大后續(xù)可以做瘦身多階段構(gòu)建、換更小基礎(chǔ)鏡像或者接一個監(jiān)控容器掛了第一時間知道。項目背景和上游依賴說明見 README.md?!久赓M(fèi)下載鏈接】TVBoxOSCTVBoxOSC - 一個基于第三方項目的代碼庫用于電視盒子的控制和管理。項目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSC創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考