docker-compose 使用

Docker提供一個容器編排工具------》Docker Compose,它容許用戶在一個模板(YAML格式)中定義一組相關聯的應用容器,這組容器會根據配置模板中的"--link"等參數git

對啓動的優先級自動排序,簡單執行一條"docker-compose up",就能夠把同一個服務中的多個容器一次建立和啓動。github

安裝docker-compose:sql

curl -L https://github.com/docker/compose/release/download/1.6.0/docker-compose-`uname -s`-`uname -r` > /usr/local/bin/docker-compose

chmod +x
/usr/local/bin/docker-compose

 

使用Docker Compose管理多個容器,首先須要把容器寫到它的配置文件中,默認配置文件名爲docker-compose.yml,咱們能夠經過「-f」選項指定配置文件。docker

下面經過安裝redmine來講明curl

將docker run建立容器的指令改造爲Docker Compose的配置文件工具

postgresql容器建立和啓動的命令爲:post

[root@localhost ~]# docker run --name postgresql-redmine -d \
> --env 'DB_NAME=redmine_production' \
> --env 'DB_USER=redmine' \
> --env 'DB_PASS=password' \
> sameersbn/postgresql:9.4-12

它使用sameersbn/postgresql:9.4-12鏡像建立了一個名字爲postgresql-redmine的容器,並配置了三個環境變量。轉換爲Docker Compose配置文件內容以下:網站

postgresql:
  image: sameersbn/postgresql:9.4-12
  environment:
    - DB_NAME=readmine_production
    - DB_USER=redmine
    - DB_PASS=password

redmine容器建立和啓動的命令爲:url

docker run --name redmine -d --link postgresql-redmine:postgresql --publish 10083:80 --env 'REDMINE_PORT=10083' sameersbn/redmine:3.2.0-4

它使用 sameersbn/redmine:3.2.0-4鏡像建立了一個名字爲redmine的容器,轉換爲Docker Compose配置文件內容以下:spa

redmine:
  image: sameersbn/redmine:3.2.0-4
  links:
    - postgresql:postgresql
  ports:
    - "10083:80"
  environment:
    - REDMINE_PORT=10083 

 

建立配置文件~/redmine/docker-compose.yml,合併內容以下:

postgresql:
  image: sameersbn/postgresql:9.4-12
  environment:
    - DB_NAME=readmine_production
    - DB_USER=redmine
    - DB_PASS=password
        
redmine:
  image: sameersbn/redmine:3.2.0-4
  links:
    - postgresql:postgresql
  ports:
    - "10083:80"
  environment:
    - REDMINE_PORT=10083    

執行新容器組的建立和啓動:

docker-compose up -d

最後,經過http://ip10083就能夠訪問網站。

後續啓動和中止就變得很是簡單了:

中止命令:

docker-compose stop

啓動命令:

docker-compose start
相關文章
相關標籤/搜索