Docker 产品全解析: docker-compose

简介

docker-compose 是容器编排工具,使用 YAML 作为配置文件,根据配置启动、停止、重启一组容器。

安装

// 下载 docker-compose 可执行文件(需要管理员权限)
sudo curl -L https://github.com/docker/compose/releases/download/1.5.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

// 给可执行文件赋予执行权限(需要管理员权限)
sudo chmod +x /usr/local/bin/docker-compose

安装中遇到过得问题及解决办法

  1. 使用sudo将可执行文件下载到/usr/local/bin目录下还是提示权限不足

    可以将可执行文件下载到有权限的目录,然后再使用sudo将可执行文件再移动到/usr/local/bin

  2. 下载后执行 docker-compose 命令提示版本不正确

    前往 docker-compose 下载页面 选择适合当前 docker 版本的 docker-compose

docker-compose.yml 例子

最基础的 ExpressJS + MongoDB 组成的 web 应用

mongodb:  // 容器名
  image: mongo:3.0.7  // 使用的镜像
  volumes:
    - ./mongodb/data/db:/data/db  // 挂在目录,宿主机目录:容器内目录
  ports:
    - 27017:27017  // 端口映射,宿主机端口:容器内端口
  command: /bin/bash -c "mongod"  // 容器启动命令
nodejs:
  image: nodejs:5.1.0
  volumes:
    - ./nodejs/code:/code
  ports:
    - 3000:3000
  command: /bin/bash -c "cd /code && npm install && npm start"

docker-compose 常用命令

所有命令必须在包含 docker-compose.yml 目录下运行

// 后台启动容器
docker-compose up -d  // 修改 docker-compose.yml 后再次运行会重新构建启动有修改的容器

// 停止容器
docker-compose stop

// 重启容器
docker-compose restart

// 删除容器
docker-compose rm  // 出现删除确认提示,y: 确认删除,n: 取消删除
2015-11-25 13:17209