docker-compose映像怎麼發佈springboot項目
簡介
Docker-Compose專案是Docker官方的開源項目,負責實現對Docker容器叢集的快速編排。 Compose允許使用者透過一個單獨的docker-compose.yml範本檔案(YAML 格式)來定義一組相關聯的應用程式容器為一個專案(project)。 Docker-Compose專案由Python編寫,呼叫Docker服務提供的API來對容器進行管理。因此,只要所操作的平台支援Docker API,就可以在其上利用Compose來進行編排管理。
Docker-Compose將所管理的容器分成三層,分別是工程(project),服務(service)以及容器(container)。 Docker-Compose運作目錄下的所有檔案(docker-compose.yml,extends檔案或環境變數檔案等)組成一個工程,若無特殊指定工程名即為目前目錄名稱。一個工程當中可包含多個服務,每個服務中定義了容器運作的鏡像,參數,依賴。一個服務當中可包含多個容器實例,Docker-Compose並沒有解決負載平衡的問題,因此需要藉助其它工具實現服務發現及負載平衡。
Docker-Compose的工程設定檔預設為docker-compose.yml,可透過環境變數COMPOSE_FILE或-f參數自訂設定文件,其定義了多個有依賴關係的服務及每個服務運行的容器。
使用一個Dockerfile模板文件,可以讓使用者很方便的定義一個單獨的應用容器。在工作中,常常會碰到需要多個容器相互配合來完成某項任務的情況。例如要實作一個Web項目,除了Web服務容器本身,往往還需要再加上後端的資料庫服務容器,甚至還包含負載平衡容器等。
常用指令
docker-compose
介紹
Compose的作用是「定義和執行多個Docker容器的應用程式」。使用Compose,你可以在一個設定檔(yaml格式)中設定你所應用的服務,然後使用一個命令,即可建立並啟動設定中引用的所有服務。
Compose中兩個重要概念:
• 服務 (service):一個應用的容器,實際上可以包含若干運行相同鏡像的容器實例。
• 專案 (project):由一組關聯的應用容器組成的完整業務單元,在 docker-compose.yml檔案中定義。
docker compose安裝步驟
透過GitHub連結下載安裝非ROOT用戶記得加sudo
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
給二進位下載檔案可執行的權限
sudo chmod +x /usr/local/bin/docker-compose
驗證是否安裝
docker-compose --version
卸載
如果是二進位套件方式安裝的,刪除二進位檔案即可
rm /usr/local/bin/docker-compose
目錄結構
compose docker-compose.yml eureka Dockerfile eureka-server-2.0.2.RELEASE.jar user Dockerfile user-2.0.2.RELEASE.jar power Dockerfile power-2.0.2.RELEASE.jar
範例
#Compose的使用非常簡單,只需要寫一個docker-compose.yml,然後使用docker-compose 指令操作。 docker-compose.yml描述了容器的配置,而docker-compose 指令則描述了對容器的操作。
1.我們使用一個微服務項目先來做一個簡單的例子,首先創建一個compose的工作目錄,然後創建一個jenkinsTest文件夾,裡面放可執行jar包和編寫一個Dockerfile文件,目錄結構如下:
jenkins裡面存放自己測試上傳的jar套件
docker-compose.yml
version: '3.1' #这里要指定docker-compose对应的docker版本 services: jenkinstest: #指定服务名 #image: jenkinstest #指定镜像名称 小写不然会报错 build: ./jenkinsTest #指定Dockfile所在路径 ports: - 8099:8099 #指定端口映射 expose: - 8099 #对外暴露的服务端口
Dockerfile檔案
FROM adoptopenjdk/openjdk8:jdk8u-centos-nightly #作者 MAINTAINER lkz # 镜像要暴露的端口,如要使用端口,在执行docker run命令时使用-p生效 EXPOSE 8099 COPY jenkinsTest.jar 11.jar # 在镜像运行为容器后执行的命令 ENTRYPOINT ["java","-jar","11.jar"]
啟動微服務,可以加上參數-d後台啟動
docker-compose up -d
使用Docker Compose編排SpringCloud微服務
配置同上
修改docker-compose.yml檔案
version: '3.3' services: eureka: image: eureka:v1 #指定镜像名称 build: ./eureka #指定Dockfile所在路径 ports: - 8080:8080 user: image: user:v1 build: ./user #指定Dockfile所在路径 ports: - 8081:8081 power: image: power:v1 build: ./power #指定Dockfile所在路径 ports: - 8082:8082
以上是docker-compose映像怎麼發佈springboot項目的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

退出 Docker 容器的四種方法:容器終端中使用 Ctrl D 快捷鍵容器終端中輸入 exit 命令宿主機終端中使用 docker stop <container_name> 命令宿主機終端中使用 docker kill <container_name> 命令(強制退出)

Docker 中將文件拷貝到外部主機的方法:使用 docker cp 命令:執行 docker cp [選項] <容器路徑> <主機路徑>。使用數據卷:在主機上創建目錄,在創建容器時使用 -v 參數掛載該目錄到容器內,實現文件雙向同步。

重啟 Docker 容器的方法:獲取容器 ID(docker ps);停止容器(docker stop <container_id>);啟動容器(docker start <container_id>);驗證重啟成功(docker ps)。其他方法:Docker Compose(docker-compose restart)或 Docker API(參考 Docker 文檔)。

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

Docker 容器啟動步驟:拉取容器鏡像:運行 "docker pull [鏡像名稱]"。創建容器:使用 "docker create [選項] [鏡像名稱] [命令和參數]"。啟動容器:執行 "docker start [容器名稱或 ID]"。檢查容器狀態:通過 "docker ps" 驗證容器是否正在運行。

在 Docker 中啟動 MySQL 的過程包含以下步驟:拉取 MySQL 鏡像創建並啟動容器,設置根用戶密碼並映射端口驗證連接創建數據庫和用戶授予對數據庫的所有權限

查看 Docker 日誌的方法包括:使用 docker logs 命令,例如:docker logs CONTAINER_NAME使用 docker exec 命令運行 /bin/sh 並查看日誌文件,例如:docker exec -it CONTAINER_NAME /bin/sh ; cat /var/log/CONTAINER_NAME.log使用 Docker Compose 的 docker-compose logs 命令,例如:docker-compose -f docker-com
