天天看點

Docker之10 Docker Compose

什麼是Docker Compose

Compose是一個用于定義和運作多容器Docker應用程式的工具。Docker Compose可以使用YAML檔案來配置應用程式的服務,接着就可以從配置中建立并啟動所有服務。

如何配置Docker Compose

很簡單,将docker-compose在github下載下傳下來賦予執行權限即可運作。

curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose           
Docker之10 Docker Compose

Docker Compose 管理指令

檢視容器清單

docker-compose ps

檢視服務日志

docker-compose log

列印綁定端口

docker-compose port

建構服務

docker-compose build

啟動已存在的容器服務

docker-compose start

停止已運作的容器服務

docker-compose stop

删除服務容器

dokcer-compose rm

建構或啟動容器

docker-compose up

停止服務容器

docker-compose kill

下載下傳服務鏡像

docker-compose pull

設定服務運作的容器數量

docker-compose scale

在伺服器上運作指令

docker-compose run

Docker Compose Yaml File

指令格式
version:指定 docker-compose.yml 檔案的寫法格式
services:多個容器集合
environment:環境變量配置,可以用數組或字典兩種方式
restart:容器在關閉後是否重新開機
depends_on:定義服務依賴關系
image:指定服務所使用的鏡像
network_mode:設定網絡模式
ports:對外暴露的端口定義,和 expose 對應
volumes:卷挂載路徑           
一個完整的WordPress例子
version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}           
docker-compose up -d
docker-compose ps           
Docker之10 Docker Compose
http://ServerName:8000
Docker之10 Docker Compose