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)
接下來,執行命令啟動一下
通過瀏覽器訪問
最後,停止應用
備忘單