docker-compose 简介

Compose 是用于定义和运行复杂Docker应用的工具。可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动应用,然后相关的操作都会被自动完成。

docker-compose的安装

## 方式一
sudo su / sudo -i     ##切换到root用户
curl -L https://get.daocloud.io/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
## 方式二
sudo apt-get install python-dev python-pip 
sudo pip install -U docker-compose   ##安装最新版本的docker-compose

docker-compose.yml 文件

version: '2'
services:
  service1:
    restart: always
    image:name:tag
    ports:
      - "1000:1000"
    volumes:
      - host_dir:container_dir
    depends_on:
      - service2
    links:
      - service3
    external_links:
      - container_name:ALIAS
    env_file:
      - .service1_env


  service2: 
    restart: always
    build: .
    ports:
     - "2000:2000"
    command: service nginx restart
    env_file:
      - .service2_env 

  service3:
    restart: always
    build:
      context: ./dir
      dockerfile: Dockerfile-alternate
    image: name:tag
    volumes:
      - container_dir
    environment:
      - DEBUG=true

docker-compose常用命令

命令参数作用说明
–version查看docker-compose当前版本
–verbose输出详细信息
-f制定一个非docker-compose.yml命名的yaml文件
-p设置一个项目名称
###################################################################################################
动作作用说明
upcreate + run + attach容器到服务
up -d后台启动服务
stop关闭该docker-compose管理的所有容器
start将启动由这个程序管理的处于停止状态的容器
rm删除该docker-compose管理的处于停止状态的容器
rm -v删除该docker-compose管理的处于停止状态的容器以及数据持久卷
build构建服务
kill -s SIGINT给服务发送特定的信号
logs输出日志
port输出绑定的端口
ps输出运行的容器
pullpull服务的image
run运行某个服务,例如docker-compose run web python manage.py shell
scale设置服务运行的容器数量。例如:docker-compose scale web=2 worker=3
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐