Docker Compose 多容器應用

不要亂摸發表於2019-05-17

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)

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

通過瀏覽器訪問

最後,停止應用

備忘單

 

相關文章