一、docker-compose快速部署
docker-compose把項目依賴的應(yīng)用和環(huán)境一起安裝到服務(wù)器或本地,執(zhí)行以下步驟完成安裝部署:
1.上傳文件
先把項目中的 docker/data/ 文件夾上傳到服務(wù)器或本地的 /var/
目錄下,商業(yè)版本需要重新打包后端和前端,后端上傳到 /var/data/java/
目錄下,替換jar文件,前端上傳到 /var/data/nginx/vue/
目錄下替換里面內(nèi)容。
2.開始部署
進入服務(wù)器或本地的 /var/data/
目錄執(zhí)行:docker-compose up -d
等待執(zhí)行后完成部署
3.訪問系統(tǒng)
- 部署完成后,通過服務(wù)器地址訪問FastBee物聯(lián)網(wǎng)平臺,默認賬號
admin admin123
- 部署中使用了emqx,可以通過18083端口,訪問EMQX控制臺,默認賬號密碼
admin admin123
Tips
- 使用docker-compose部署,需要服務(wù)器先安裝docker和docker-compose
- 以后重新部署項目,只需替換
fastbee-admin.jar
文件和vue
目錄下內(nèi)容
4. 部署中常用命令參考
# 可先拉取服務(wù)中鏡像,時間取決于網(wǎng)絡(luò)情況,可配置docker采用國內(nèi)鏡像源
docker-compose pull
# 構(gòu)建并啟動服務(wù)中容器
docker-compose up -d
# 停止并刪除服務(wù)中容器
docker-compose down
# 創(chuàng)建data文件夾
mkdir /var/data
# 文件夾分配讀寫可執(zhí)行權(quán)限
sudo chmod 777 /var/data
二、docker教程
docker 是一個開源的應(yīng)用容器引擎,可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個輕量級、可移植的鏡像中,然后發(fā)布到任何流行的 Linux 或 Windows 操作系統(tǒng)機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。
1.安裝docker
Tips
- docker鏡像默認從官方倉庫獲取,如果下載慢,可以配置為國內(nèi)的鏡像倉庫,參考教程
- 安裝桌面端,已經(jīng)包含docker引擎和docker compose。服務(wù)器一般單獨安裝docker engine和docker compose
Linux安裝docker
Windows安裝docker桌面端
- 參考教程(推薦安裝WSL子系統(tǒng)和Windows Terminal,然后安裝Docker)
- docker安裝教程
Mac安裝docker桌面端
2.docker常用命令
docker -v # 查看docker版本,檢查是否安裝成功
docker ps # 查看運行的容器
docker ps -a # 查看所有容器
docker images # 查看本地鏡像
docker info # 查看docker的系統(tǒng)級信息
docker pull [image] # 拉取鏡像
docker run [image] # 運行容器
docker restart [container] # 重啟容器
docker stop [container] # 停止容器
docker stats [container] # 查看容器資源使用情況
docker inspect [container] # 查看容器元數(shù)據(jù)
docker logs -n 1000 [container] # 查看容器的前1000條日志信息
docker exec -it [container] /bin/bash # 進入運行中的容器內(nèi)部
docker-compose up -d # 后臺方式運行docker-compose.yml中容器
docker-compose down # 停止docker-compose.yml中容器
docker network create -d bridge fastbee-bridge # 創(chuàng)建一個新的網(wǎng)絡(luò),命名為fastbee-bridge
docker network ls # 顯示所有網(wǎng)絡(luò)
docker network connect fastbee-bridge test # test容器加入到自定義網(wǎng)絡(luò)
docker inspect fastbee-bridge # 查看fastbee-bridge網(wǎng)絡(luò)里的容器
3.docker網(wǎng)絡(luò)模式
docker中有5中網(wǎng)絡(luò)模式,可以通過--net=***指定容器的網(wǎng)絡(luò)模式。
bridge模式 # 默認,外界訪問容器內(nèi)的服務(wù)時,需要訪問宿主機的 IP 以及宿主機的端口 port
host模式 # 容器的IP地址即為宿主機的IP地址
container模式 # 容器會共享其他容器的網(wǎng)絡(luò)環(huán)境
overlay模式 # 跨主機通訊
none模式 # 不為容器構(gòu)造任何網(wǎng)絡(luò)環(huán)境,容器只能使用127.0.0.1的本機網(wǎng)絡(luò)
4.docker網(wǎng)橋
網(wǎng)橋用于各個容器間通訊,如果各個容器是單獨運行的,需要使用下面命令創(chuàng)建網(wǎng)橋
docker network create -d bridge fastbee-bridge
5.docker-compose常用命令
docker-compose -v # 查看docker-compose版本,檢查是否安裝成功
docker-compose up -d # 構(gòu)建并啟動服務(wù)中容器
docker-compose down # 停止并刪除服務(wù)中容器
docker-compose ps # 列出服務(wù)中所有容器
docker-compose start # 啟動服務(wù)中的容器
docker-compose stop # 停止服務(wù)中正在運行的容器
docker-compose restart # 重啟服務(wù)中的容器
docker-compose logs # 查看服務(wù)中容器的輸出
docker-compose pull # 拉取服務(wù)中依賴的鏡像
docker-compose config # 驗證并查看compose文件配置