前面我们使用 docker 的时候, 定义 Dockerfile 文件, 然后使用 docker build docker run 等等命令, 有没有觉得很麻烦呀, 而且当容器多的时候, 很多东西不好管理和记录, 挺不方便这时候我们的 docker compose 神器横空出世了
docker compose 是什么呢?
可以理解为多容器的自动化管理工具将 多容器 docker 动作拆分成一系列配置信息 (新建一个 docker-compose.yml 来保存配置信息), 然后通过 docker-compose up 命令一键化运行, 实现了 docker 自动化部署 docker compose 可以做很多事, 比如: 网络自定义映射磁盘微服务多实例部署等, 同时可以提高工作效率, 降低维护成本
docker compose 安装
安装命令
- curl - L https: //github.com/docker/compose/releases/download/1.3.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
- chmod + x / usr / local / bin / docker - compose
查看安装
docker-compose -v
docker-compose -v 查看安装版本
docker-compose 常见命令
docker-compose ps
列出所有运行容器
docker - compose build
构建或者重新构建服务
docker - compose start
启动构建服务
docker - compose start 构建的服务名称
docker - compose stop 构建的服务名称
关闭启动服务
docker-compose rm
删除指定服务的容器
docker - compose rm 构建的服务名称容器
docker-compose up
构建启动容器,
docker - compose up - d
-d 可以后台启动
docker-compose kill
kill 指定运行的容器,
docker - compose kill 运行的容器服务名称
docker-compose.yml 属性
version
指定 docker-compose.yml 文件的写法格式, 如:
- Version 1 file format
- Version 2 file format
- Version 2.1 file format
- Version 3 file format
, 其中
Version 1 file format
逐渐被弃用; 使用方式如: version: '3'
services
多个容器集合
image
指定服务所使用的镜像
ports
对外暴露的端口定义, 和 expose 对应, 可以是多个
- ports: # 暴露端口信息 - "宿主机端口: 容器暴露端口"
- - "8763:8763"
- - "8763:8763"
- links
将指定容器连接到当前连接, 可以设置别名, 避免 ip 方式导致的容器重启动态改变的无法连接情况
- links: # 指定服务名称: 别名
- - docker-compose-eureka-server:compose-eureka
- volumes
卷挂载路径设置
- volumes: -/lib
- - /
- var
- logs
输出日志信息
--no-color 单色输出, 不显示其他颜.
-f, --follow 跟踪日志输出, 就是可以实时查看日志
-t, --timestamps 显示时间戳
--tail 从日志的结尾显示,--tail=200
如:
docker - compose logs - f 指定运行容器服务名称
- ,
- docker - compose logs - f nginx
待续
利用 docker-compose 启动 nginx 容器
编写 docker-compose.yml, 内容如下:
- version: '2' # 表示该 docker-compose.yml 文件使用的是 Version 2 file format
- services: # Version 2 file format 的固定写法, 为 project 定义服务
- nginx: # 指定服务名称
- image: nginx # 指定服务所使用的镜像
- ports: # 暴露端口信息
- - 80:80
使用 docker-compose up 命令启动
docker-compose up 或者
docker - compose up - d
后台启动
docker-compose nginx 启动
docker-compose nginx 启动成功
浏览器访问
docker-compose nginx 访问
看完, 放松下!
轻松一刻
如有不对的地方, 望多多指教, 谢谢!
来源: http://www.jianshu.com/p/cc14437a3cd6