修改Docker容器bisheng-frontend中的靜態(tài)文件的操作步驟
教程將分為以下幾個(gè)部分:
- 教程目標(biāo):明確說明本教程將教會你什么。
- 前提條件:列出執(zhí)行本教程所需的環(huán)境和工具。
- 操作步驟:
- 步驟一:進(jìn)入容器并定位文件
- 步驟二:將容器內(nèi)文件復(fù)制到本地
- 步驟三:在本地修改文件
- 步驟四:重新創(chuàng)建容器并掛載修改后的文件
- 總結(jié):簡要回顧整個(gè)流程。
一、教程目標(biāo)
本教程將指導(dǎo)你如何安全地修改運(yùn)行中的 bisheng-frontend Docker 容器內(nèi)的靜態(tài)文件(如圖片、SVG 等)。我們將采用“復(fù)制文件 -> 本地修改 -> 掛載重啟”的最佳實(shí)踐,以避免直接在容器內(nèi)修改帶來的風(fēng)險(xiǎn)。
二、前提條件
- 已安裝 Docker 并能正常運(yùn)行。
- 已安裝
docker-compose(如果你的服務(wù)是通過docker-compose啟動的)。 - 具有宿主機(jī)的命令行訪問權(quán)限,并擁有
sudo權(quán)限(用于創(chuàng)建目錄和修改權(quán)限)。 - 確認(rèn)
bisheng-frontend容器正在運(yùn)行:
docker ps | grep bisheng-frontend
三、操作步驟
步驟一:進(jìn)入容器并定位目標(biāo)文件
首先,我們需要進(jìn)入容器內(nèi)部,找到需要修改的文件的具體路徑。
進(jìn)入 bisheng-frontend 容器的交互式終端:
docker exec -it bisheng-frontend /bin/bash
-it: 創(chuàng)建一個(gè)交互式的 TTY 終端。bisheng-frontend: 容器名稱。/bin/bash: 要執(zhí)行的命令。
在容器內(nèi)搜索需要修改的文件: 例如,我們要搜索所有圖片文件(.png, .jpg, .svg):
find / -name "*.png" -o -name "*.jpg" -o -name "*.svg" 2>/dev/null
2>/dev/null: 將無關(guān)的權(quán)限錯(cuò)誤信息丟棄,使輸出更干凈。
記錄文件路徑: 從搜索結(jié)果中,找到你需要修改的文件,并記下它的完整路徑。例如:
/usr/share/nginx/html/platform/assets/male-technologist-CcgkZdXy.png/usr/share/nginx/html/platform/assets/analysis.svg
退出容器: 完成文件定位后,退出容器終端。
exit
步驟二:將容器內(nèi)的文件復(fù)制到本地宿主機(jī)
為了安全地修改,我們將容器內(nèi)的整個(gè)靜態(tài)文件目錄復(fù)制到本地。
在宿主機(jī)上創(chuàng)建一個(gè)本地目錄,用于存放從容器中復(fù)制出來的文件:
mkdir -p /opt/bisheng-main/local-frontend
-p: 確保父目錄存在,如果不存在則一并創(chuàng)建。
(可選)修改本地目錄權(quán)限: 為了確保你當(dāng)前的用戶有權(quán)限讀寫該目錄,可以修改其權(quán)限。
# 將目錄所有者改為當(dāng)前用戶(推薦) sudo chown -R $USER:$USER /opt/bisheng-main/local-frontend # 或者,給予更寬松的權(quán)限(不推薦,但簡單) # sudo chmod -R 775 /opt/bisheng-main/local-frontend
將容器內(nèi)的文件目錄復(fù)制到本地: 根據(jù)步驟一找到的路徑,我們復(fù)制其上級目錄(例如 /usr/share/nginx/html)到本地。
docker cp bisheng-frontend:/usr/share/nginx/html /opt/bisheng-main/local-frontend
- 這條命令會將容器內(nèi)的
/usr/share/nginx/html目錄及其所有內(nèi)容,復(fù)制到本地的/opt/bisheng-main/local-frontend/目錄下。復(fù)制完成后,本地路徑會是/opt/bisheng-main/local-frontend/html/...。
驗(yàn)證文件是否復(fù)制成功:
ls -l /opt/bisheng-main/local-frontend/html/platform/assets/
你應(yīng)該能看到你之前在容器內(nèi)找到的那些文件。
步驟三:在本地修改文件
現(xiàn)在,你可以在本地對文件進(jìn)行任意修改。
- 使用你喜歡的編輯器或工具,找到本地對應(yīng)的文件并進(jìn)行修改或替換。
- 本地文件路徑示例:
/opt/bisheng-main/local-frontend/html/platform/assets/male-technologist-CcgkZdXy.png - 重要:修改后的文件請務(wù)必保持與原文件相同的文件名。
- 本地文件路徑示例:
步驟四:重新創(chuàng)建容器并掛載修改后的文件
這是最關(guān)鍵的一步。我們將停止并刪除舊容器,然后創(chuàng)建一個(gè)新容器,并使用 Docker 的卷掛載功能,將我們修改好的本地目錄掛載到容器內(nèi),從而覆蓋原有的文件。
停止并刪除正在運(yùn)行的 bisheng-frontend 容器:
docker stop bisheng-frontend docker rm bisheng-frontend
- 注意:這會短暫中斷你的
bisheng-frontend服務(wù)。
(重要)確認(rèn)容器的網(wǎng)絡(luò): 為了確保新容器能和其他服務(wù)(如 bisheng-backend)通信,需要使用正確的網(wǎng)絡(luò)。
如果你使用 docker-compose:通常不需要手動指定網(wǎng)絡(luò),docker-compose 會自動管理。
如果你手動運(yùn)行容器:
- a. 列出所有網(wǎng)絡(luò):
bash docker network ls - b. 找到
bisheng-frontend之前連接的網(wǎng)絡(luò)(通常是bisheng_default或docker_default)。你可以通過檢查哪個(gè)網(wǎng)絡(luò)包含bisheng-backend來確認(rèn):bash docker network inspect docker_default | grep "bisheng-backend" - c. 記下正確的網(wǎng)絡(luò)名稱,例如
bisheng_default。
重新啟動容器,并掛載本地修改后的目錄: 使用 docker run 命令創(chuàng)建一個(gè)新容器。關(guān)鍵在于 -v (volume) 參數(shù)。
docker run -d \ --name bisheng-frontend \ --network bisheng_default \ # 替換為你在上一步確認(rèn)的網(wǎng)絡(luò)名稱 -p 3001:3001 \ -v /opt/bisheng-main/local-frontend/html/platform/assets:/usr/share/nginx/html/platform/assets \ cr.dataelem.com/dataelement/bisheng-frontend:latest
-v /local/path:/container/path: 這是卷掛載命令。它將本地的/opt/bisheng-main/local-frontend/html/platform/assets目錄,掛載到容器內(nèi)的/usr/share/nginx/html/platform/assets目錄。容器運(yùn)行時(shí),會優(yōu)先讀取掛載目錄中的文件,從而實(shí)現(xiàn)了文件替換。- 路徑映射技巧:盡量讓本地掛載的目錄結(jié)構(gòu)與容器內(nèi)的目錄結(jié)構(gòu)保持一致,這樣不易出錯(cuò)。
檢查容器是否成功啟動:
docker ps | grep bisheng-frontend
如果能看到 bisheng-frontend 并且狀態(tài)為 Up,則表示啟動成功。
驗(yàn)證修改: 打開瀏覽器或使用 curl 訪問你的應(yīng)用,查看相應(yīng)的圖片或靜態(tài)資源是否已經(jīng)更新為你修改后的版本。
四、總結(jié)
通過以上步驟,你已經(jīng)成功地修改了 bisheng-frontend 容器中的靜態(tài)文件。這種“復(fù)制-修改-掛載”的方法是 Docker 環(huán)境下更新容器內(nèi)容的標(biāo)準(zhǔn)操作流程,它安全、可靠且易于管理。
如果你未來還需要修改其他文件,只需重復(fù)步驟三和步驟四即可,無需再重新復(fù)制整個(gè)目錄(除非容器內(nèi)的原始文件又發(fā)生了變化)。
以上就是修改Docker容器bisheng-frontend中的靜態(tài)文件的操作步驟的詳細(xì)內(nèi)容,更多關(guān)于Docker bisheng-frontend靜態(tài)文件修改的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Docker版Percona Xtrabackup全量壓縮腳本方式
本文介紹了如何在Linux環(huán)境下使用Percona XtraBackup進(jìn)行MySQL數(shù)據(jù)庫的每天定時(shí)備份,并通過腳本實(shí)現(xiàn)備份數(shù)據(jù)的壓縮、日志管理以及定時(shí)任務(wù)的設(shè)置2026-02-02
在CentOS啟動時(shí)自動加載內(nèi)核模塊overlayfs操作
這篇文章主要介紹了在CentOS啟動時(shí)自動加載內(nèi)核模塊overlayfs操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
docker安裝tomcat dubbo-admin實(shí)例技巧
在本篇文章里小編給大家整理的是關(guān)于docker安裝tomcat dubbo-admin實(shí)例技巧,有需要的朋友們可以參考下。2020-01-01
harbor切換主機(jī),ip地址改變,需要對應(yīng)的修改harbor配置實(shí)踐
文章講述了在切換主機(jī)IP地址后,需要修改Harbor配置文件以避免出現(xiàn)連接錯(cuò)誤,錯(cuò)誤的原因是Harbor的IP地址沒有更新,需要從舊IP(192.168.1.110)改為新IP(192.168.1.111),解決方法是編輯harbor.cfg文件并保存更改2026-03-03
關(guān)于docker容器優(yōu)雅退出的問題詳解
在Docker大火的今天,我們能夠非常方便的使用容器打包我們的應(yīng)用程序,并且將它在我們的服務(wù)器上部署并運(yùn)行起來。而下面這篇文章主要給大家介紹了關(guān)于docker容器如何優(yōu)雅退出的問題,需要的朋友可以參考下。2017-09-09

