docker单机编排工具docker-compose

编排工具安装

      本文为在linux系统中操作,首先是安装epel源。然后安装python的pip组件,利用pip安装docker-compose,在安装完毕后,可以使用查看版本命令以及帮助命令查看所支持的子命令。

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install python-pip -y
pip install docker-compose
docker-compose version
docker-compose --help

编排工具使用

      我们以haproxy挂载两个nginx为例子,首先,编辑一个编排文档,文档的后缀为yum。然后执行up命令把编排启动。整个命令执行见下。

vim docker-conmpse.yml


web1:
  image: nginx
  expose:
    - 80  

web2:
  image: nginx
  expose:
    - 80

haproxy:
  image: haproxy
  volumes:
    - /opt/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
  links:
    - web1
    - web2 
  ports:
    - "7777:8080"
    - "80:80"

wq!

docker-compose up

      执行完毕后,可以通过浏览haproxy的站点统计页面查看运行情况。

      docker单机编排工具docker-compose_第1张图片

 

编排工具语法

命令名称 含义 举例
image 使用的镜像  
build 指定Dockerfile构建 version: '3'
services:
  web:
    build: ./
command 启动执行命令 version: '3'
services:
    web:
        build: ./
        command: env
links 链接其他容器  
ports 端口映射 ports:
    - "8080:80"
    - "127.0.0.1:8080:80"
expose 暴露端口  
volumes 挂载路径 volumes:
    - ./conf.d:/etc/nginx/conf.d
    # nginx.conf对容器来说只读
    - ./nginx.conf:/etc/nginx/nginx.conf:ro
volumes_from 从容器挂载  
environment 环境变量 environment:
  - RACK_ENV=development
  - SHOW=true
  - SESSION_SECRET

 

编排工具常见命令列表

命令 命令说明
docker-compose up -d nginx 构建建启动nignx容器
docker-compose exec nginx bash 登录到nginx容器中
docker-compose down 删除所有nginx容器,镜像
docker-compose ps 显示所有容器
docker-compose restart nginx 重新启动nginx容器
docker-compose run --no-deps --rm php-fpm php -v   在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器
docker-compose build nginx 构建镜像 。        
docker-compose build --no-cache nginx 不带缓存的构建。
docker-compose logs  nginx 查看nginx的日志
docker-compose logs -f nginx 查看nginx的实时日志

docker-compose config  -q

验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。 
docker-compose events --json nginx 以json的形式输出nginx的docker日志
docker-compose pause nginx 暂停nignx容器
docker-compose unpause nginx 恢复ningx容器

docker-compose rm nginx

删除容器(删除前必须关闭容器)
docker-compose stop nginx  停止nignx容器
docker-compose start nginx 启动nignx容器

 

 

如果您喜欢这篇文章,别忘了点赞和评论哦!

你可能感兴趣的:(Python集中营,Docker从入门到进阶)