我在業(yè)余時(shí)間開發(fā)了一款自己的獨(dú)立產(chǎn)品:升訊威在線客服與營銷系統(tǒng)。陸陸續(xù)續(xù)開發(fā)了幾年,從一開始的偶有用戶嘗試,到如今線上環(huán)境和私有化部署均有了越來越多的穩(wěn)定用戶,在這個(gè)過程中,我也積累了不少如何開發(fā)運(yùn)營一款獨(dú)立產(chǎn)品的經(jīng)驗(yàn)。我將在本文中介紹如何通過 Docker 讓潛在客戶快速體驗(yàn)?zāi)愕莫?dú)立產(chǎn)品。
如果你的產(chǎn)品是和我的在線客服系統(tǒng)一樣,100% 允許用戶私有化部署的,那你一定要使用 Docker 技術(shù),讓用戶能夠快速體驗(yàn)到你的系統(tǒng),以及能夠在生產(chǎn)環(huán)境中非常輕松的把你的產(chǎn)品用起來。千萬不要把安裝部署的過程弄得太復(fù)雜。
把產(chǎn)品做成 Docker 鏡像提供給用戶有很多好處:
一致的運(yùn)行環(huán)境:Docker 容器能確保你的產(chǎn)品在不同環(huán)境中以相同的方式運(yùn)行,避免了因操作系統(tǒng)、依賴版本不同而產(chǎn)生的兼容性問題。無論用戶的系統(tǒng)是 Windows、Linux 還是 macOS,都能以一致的方式運(yùn)行。
簡化部署和安裝:用戶無需手動(dòng)配置環(huán)境,直接運(yùn)行 Docker 容器就可以啟動(dòng)產(chǎn)品。這對(duì)沒有相關(guān)技術(shù)背景的用戶尤其友好。
快速啟動(dòng)和隔離:Docker 鏡像啟動(dòng)速度快,容器內(nèi)的應(yīng)用與外部環(huán)境隔離,避免了對(duì)宿主系統(tǒng)的干擾,也使得產(chǎn)品更容易進(jìn)行升級(jí)和更新。
可移植性:Docker 鏡像可以輕松地在不同的機(jī)器、云平臺(tái)甚至是開發(fā)和生產(chǎn)環(huán)境之間移植,確保產(chǎn)品的跨平臺(tái)兼容性。
資源隔離與優(yōu)化:Docker 通過容器化技術(shù)使得每個(gè)應(yīng)用有自己獨(dú)立的資源和依賴,可以有效避免應(yīng)用之間的沖突,提高資源使用效率。
易于維護(hù)與版本管理:Docker 鏡像的版本管理簡單,可以輕松切換不同版本的產(chǎn)品,用戶可以根據(jù)需要選擇合適的版本,也能快速修復(fù)或迭代。
增強(qiáng)安全性:Docker 提供了容器級(jí)別的隔離,減少了不同應(yīng)用之間的安全風(fēng)險(xiǎn)。此外,可以在容器中定義安全策略,如限制容器的資源訪問權(quán)限。
自動(dòng)化和 CI/CD 集成:使用 Docker 可以與自動(dòng)化部署工具結(jié)合,支持持續(xù)集成和持續(xù)部署(CI/CD),使得產(chǎn)品的發(fā)布流程更加高效、自動(dòng)化。
我的例子
以我制作的在線客服系統(tǒng) Docker 鏡像為例,只需要 2 個(gè)命令,就能在用戶自己的服務(wù)器上跑起來,如果用戶本地安裝了 Windows Docker Desktop,那只需要 1 分鐘便能在電腦上體驗(yàn)整個(gè)系統(tǒng)。
從 Docker Hub 下載升訊威在線客服系統(tǒng)鏡像
docker pull iccb1013/linkup:latest
啟動(dòng)容器
docker run -p 8021:8021 -p 8022:8022 -p 8023:8023 -p 9527:9527 -dit --restart=always --privileged=true --name=linkup_latest iccb1013/linkup:latest
在本機(jī)訪問測(cè)試
首次啟動(dòng)容器時(shí)將自動(dòng)執(zhí)行數(shù)據(jù)庫初始化等操作,請(qǐng)稍等片刻再訪問。
localhost:8021 為服務(wù)器主程序,可以使用 http://localhost:8021/status 來查看其運(yùn)行狀態(tài)。
localhost:8022 為靜態(tài)資源站點(diǎn),可以使用 http://localhost:8022/v.html 來查看其版本。
localhost:8023 為 Web 管理后臺(tái),可以使用 http://localhost:8023 來登錄。
下載客服端程序(私有化部署專用版)
http://localhost:8022/shell.zip
在登錄界面,點(diǎn)擊下方“修改”,填入服務(wù)器地址 http://localhost:8021,然后使用默認(rèn)站點(diǎn)代碼和賬戶密碼登錄即可。
默認(rèn)站點(diǎn)代碼 :freesite,賬戶: kf1 ,密碼 :123 。
如果使用 Windows Docker Desktop,那么在啟動(dòng)容器后,通過 http://localhost 主機(jī)地址即可直接體驗(yàn)。如果是部署在服務(wù)器上,只需進(jìn)入容器修改配置文件即可。
![](/files/attmgn/2025/2/admin20250206091933225_0.jpg)
![](/files/attmgn/2025/2/admin20250206091933342_1.jpg)
如何快速為你的產(chǎn)品制作一個(gè)docker鏡像
下面我將詳細(xì)介紹如何通過 Docker 技術(shù),制作出這樣的產(chǎn)品鏡像。
1. 安裝 Docker
確保你的機(jī)器上已安裝 Docker。如果還沒有安裝,可以按照 Docker 官網(wǎng) 的安裝指南進(jìn)行安裝。
2. 創(chuàng)建 Dockerfile
Dockerfile 是一個(gè)文本文件,包含了構(gòu)建 Docker 鏡像的所有指令。你需要在項(xiàng)目目錄下創(chuàng)建一個(gè) Dockerfile
文件,通常命名為 Dockerfile
,而不帶擴(kuò)展名。
以下是一個(gè)基本的 Dockerfile 示例:
FROM ubuntu:20.04
LABEL maintainer="yourname@example.com"
COPY . /app
RUN pip3 install -r requirements.txt
在包含 `Dockerfile` 的目錄下,打開終端或命令行工具,然后運(yùn)行以下命令來構(gòu)建鏡像:
```bash
docker build -t my-image-name .
這里的 -t my-image-name
指定了鏡像的名稱,.
表示當(dāng)前目錄。
Docker 會(huì)根據(jù) Dockerfile
的指令,逐步構(gòu)建鏡像。
4. 運(yùn)行 Docker 容器
構(gòu)建完成后,你可以使用以下命令來啟動(dòng)一個(gè)容器:
docker run -d -p 8080:80 my-image-name
-d
:后臺(tái)運(yùn)行容器。-p 8080:80
:將容器內(nèi)的 80 端口映射到本地的 8080 端口。my-image-name
:指定要運(yùn)行的鏡像名稱。
5. 檢查鏡像和容器
docker images
docker ps
docker stop <container-id>
6. 分享鏡像
如果你希望分享鏡像,可以將其推送到 Docker Hub 或其他 Docker 鏡像倉庫:
- 首先,登錄到 Docker Hub:
docker login
- 然后,將鏡像推送到 Docker Hub:
docker tag my-image-name your-dockerhub-username/my-image-name
docker push your-dockerhub-username/my-image-name
這樣,別人就可以從 Docker Hub 拉取并使用你的鏡像了。
?
閱讀原文:https://www.cnblogs.com/sheng_chao/p/18695542
該文章在 2025/2/6 9:20:05 編輯過