Docker Compose 多容器應用

Docker Compose是一個用來定義並運行復雜應用程序的工具。用Compose,你能夠在一個文件中定義多個容器應用程序,而後只需一條命令就能夠完成使其運行所需的全部操做。java

一個使用Docker容器的應用程序一般是由多個容器組成的。使用Docker Compose,不須要編寫shell腳原本啓動容器。全部的容器都以服務的形式被定義在一個配置文件中,而後使用docker-compose腳原本啓動、中止和重啓應用和應用中的全部服務,以及服務中的全部容器。web

完整的命令列表:docker

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

配置文件數據庫

首先,建立一個目錄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啓動

啓動應用程序url

經過執行下面的命令,應用程序中的全部服務都會以獨立模式啓動spa

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

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

經過瀏覽器訪問

最後,中止應用

備忘單

相關文章
相關標籤/搜索