docker - compose

什么是docker-compose
compose是用来在docker中定义和运行复杂应用的小工具,简单的来说在配置文件中定义多个容器,然后通过命令就可以让定义多个容器都启动起来,而不需要一个手动启动起来。

安装

  • 用pip安装,sudo pip install -U docker-compose
  • 二进制包安装 安装命令

编写配置文件

要想使用docker-compose就需要用到配置文件,配置文件名可以为docker-compose.yml,docker-compose.yaml,fig.yml和fig.yaml其中一个,在里面写入

接下来在配置文件所在目录执行docker-compose up就可以启动mysql和wordpress这两个服务了

配置项详解

  • container_name 容器名字

  • image 镜像的名称和ID

  • build 指定 Dockerfile 所在文件夹的路径Compose将会利用它自动构建这个镜像,然后使用这个镜像

  • command 覆盖容器启动后默认执行的命令

  • links 链接别名

  • external_links 链接到配置文件外部的容器,甚至并非compose管理的容器。参数格式跟 links 类似

  • expose 暴露端口

  • ports 端口映射

  • volumes 挂载目录

  • volumes_from 从另一个服务或容器挂载它的所有卷

  • environment 环境变量

  • env_file 从文件中获取环境变量,可以为单独的文件路径或列表

  • extends 扩展

  • net 设置网络模式,可以为bridge,none,container:[name or id],host

  • dns 配置DNS服务器

  • working_dir 工作目录,和dockerfile中WORKDIR用法一致

  • user 用户,和dockerfile中USER用法一致

  • hostname

  • entrypoint,entrypoint的值可以是一条命令,也可以是shell脚本路径

entrypoint: /code/entrypoint.sh
entrypoint: echo 123

  • restart

restart always

docker-compose常用命令

  • 查看版本信息 docker-compose --version

  • 构建或重新构建服务 docker-compose build(构建配置文件中的所有service),docker-compose build [service-name ...],service-name就是配置文件中指定的容器名

  • 查看所有服务 docker-compose ps [service-name]

  • 启动暂停杀死删除重启服务 docker-compose start/stop/kill/rm/restart [service-name ...]

  • 运行服务,相当于docker run,docker-compose up -d [service-name ...]指定-d可以服务运行在后台

  • 查看服务的日志信息 docker-compose logs [service-name]

  • pull服务镜像 docker-compose pull [service-name]

  • 打印绑定的端口信息 docker-compose port [service-name]

posted @ 2016-06-05 00:49  我不是黄海滨  阅读(942)  评论(0编辑  收藏  举报