Docker Compose是一個用來定義並運行復雜應用程序的工具。用Compose,你可以在一個文件中定義多個容器應用程序,然后只需一條命令就可以完成使其運行所需的所有操作。
一個使用Docker容器的應用程序通常是由多個容器組成的。使用Docker Compose,不需要編寫shell腳本來啟動容器。所有的容器都以服務的形式被定義在一個配置文件中,然后使用docker-compose腳本來啟動、停止和重啟應用和應用中的所有服務,以及服務中的所有容器。
完整的命令列表:

下面是一個Java EE應用連接MySQL的例子
配置文件
首先,創建一個目錄javaee
然后,在該目錄下創建一個文件docker-compose.yml

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

或者,你也可以用-f選項來指定配置文件。(PS:默認的配置文件的名字是docker-compose.yml)
接下來,運行命令啟動一下


通過瀏覽器訪問

最后,停止應用

備忘單


