Docker Compose是一個用來定義並運行復雜應用程序的工具。用Compose,你能夠在一個文件中定義多個容器應用程序,而後只需一條命令就能夠完成使其運行所需的全部操做。java
一個使用Docker容器的應用程序一般是由多個容器組成的。使用Docker Compose,不須要編寫shell腳原本啓動容器。全部的容器都以服務的形式被定義在一個配置文件中,而後使用docker-compose腳原本啓動、中止和重啓應用和應用中的全部服務,以及服務中的全部容器。web
完整的命令列表:docker
下面是一個Java EE應用鏈接MySQL的例子shell
配置文件數據庫
首先,建立一個目錄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啓動
啓動應用程序url
經過執行下面的命令,應用程序中的全部服務都會以獨立模式啓動spa
或者,你也能夠用-f選項來指定配置文件。(PS:默認的配置文件的名字是docker-compose.yml)
接下來,運行命令啓動一下
經過瀏覽器訪問
最後,中止應用
備忘單