Docker系列教程21-Docker Compose快速入門 原

原文:http://www.itmuch.com/docker/21-docker-compose-quick-start/,轉載請註明出處。

本節我們來探討Compose使用的基本步驟,並編寫一個簡單示例快速入門。

基本步驟

使用Compose大致有三個步驟:

  • 使用Dockerfile(或其他方式)定義應用程序環境,以便在任何地方重現該環境。
  • 在docker-compose.yml文件中定義組成應用程序的服務,以便各個服務在一個隔離的環境中一起運行。
  • 運行docker-compose up命令,啓動並運行整個應用程序。

入門示例

下面筆者以之前課上用到的Eureka爲例講解Compose的基本步驟。

  • microservice-discovery-eureka-0.0.1-SNAPSHOT.jar 所在路徑(默認是項目的target目錄)創建Dockerfile文件,並在其中添加如下內容。

    FROM java:8
    VOLUME /tmp
    ADD microservice-discovery-eureka-0.0.1-SNAPSHOT.jar app.jar
    RUN bash -c 'touch /app.jar'
    EXPOSE 9000
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
    
  • microservice-discovery-eureka-0.0.1-SNAPSHOT.jar 所在路徑創建文件docker-compose.yml,在其中添加如下內容。

    version: '2'			# 表示該docker-compose.yml文件使用的是Version 2 file format
    services:
      eureka:				# 指定服務名稱
        build: .			# 指定Dockerfile所在路徑
        ports:
          - "8761:8761"		# 指定端口映射,類似docker run的-p選項,注意使用字符串形式
    
  • docker-compose.yml 所在路徑執行以下命令。

    docker-compose up
    

    Compose就會自動構建鏡像並使用鏡像啓動容器。我們也可使用docker-compose up -d 後臺啓動並運行這些容器。

  • 訪問:http://宿主機IP:8761/ ,即可訪問Eureka Server首頁。

工程、服務、容器

Docker Compose將所管理的容器分爲三層,分別是工程(project),服務(service)以及容器(container)。Docker Compose運行目錄下的所有文件(docker-compose.yml, extends文件或環境變量文件等)組成一個工程(默認爲docker-compose.yml所在目錄的目錄名稱)。一個工程可包含多個服務;每個服務中定義了容器運行的鏡像、參數和依賴,一個服務可包括多個容器實例。

對應《入門示例》一節,工程名稱是docker-compose.yml所在的目錄名。該工程包含了1個服務,服務名稱是eureka;執行docker-compose up時,啓動了eureka服務的1個容器實例。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章