Docker Compose 多容器應用


Docker Compose是一個用來定義並運行復雜應用程序的工具。用Compose,你可以在一個文件中定義多個容器應用程序,然后只需一條命令就可以完成使其運行所需的所有操作。

一個使用Docker容器的應用程序通常是由多個容器組成的。使用Docker Compose,不需要編寫shell腳本來啟動容器。所有的容器都以服務的形式被定義在一個配置文件中,然后使用docker-compose腳本來啟動、停止和重啟應用和應用中的所有服務,以及服務中的所有容器。

完整的命令列表:

下面是一個Java EE應用連接MySQL的例子

配置文件

首先,創建一個目錄javaee

然后,在該目錄下創建一個文件docker-compose.yml

在這個Compose文件中:

  1. 定義了兩個服務,分別是“db”和“web”
  2. image  指定了服務所使用的鏡像
  3. environment  定義了用於初始化MySQL的環境變量。其中,MYSQL_DATABASE 指定在鏡像啟動以后創建的數據庫的名字;MYSQL_USER 和 MYSQL_PASSWORD 用於創建用戶並設置密碼。該用戶將被授予超級管理員的權限類連接到通過MYSQL_DATABASE變量指定的數據庫;MYSQL_ROOT_PASSWORD 強制的,用於設置MySQL root賬號的密碼。
  4. Java EE應用程序使用在connection-url中指定的db服務
  5. arungupta/docker-javaee:dockerconeu17鏡像啟動 WildFly Swarm 應用服務器
  6. ports 指定端口轉發
  7. depends_on 指定服務直接的依賴關系。在這個例子中,MySQL會先於WildFly啟動

啟動應用程序

通過執行下面的命令,應用程序中的所有服務都會以獨立模式啟動

或者,你也可以用-f選項來指定配置文件。(PS:默認的配置文件的名字是docker-compose.yml)

接下來,運行命令啟動一下

通過瀏覽器訪問

最后,停止應用

備忘單

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM