简介
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
安装中遇到过得问题及解决办法
使用
sudo
将可执行文件下载到/usr/local/bin
目录下还是提示权限不足
可以将可执行文件下载到有权限的目录,然后再使用sudo
将可执行文件再移动到/usr/local/bin
下载后执行 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: 取消删除