Docker 产品全解析之 docker-compose

简介

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

安装

1
2
3
4
5
// 下载 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 应用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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 目录下运行

1
2
3
4
5
6
7
8
9
10
11
// 后台启动容器
docker-compose up -d // 修改 docker-compose.yml 后再次运行会重新构建启动有修改的容器

// 停止容器
docker-compose stop

// 重启容器
docker-compose restart

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

二进制加法 利用 ss + redsocks + iptables 实现 ubuntu 翻墙
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×