• Docker Compose使用


    Docker提供一个容器编排工具,Docker Compose,允许用户在一个模板(YAML)中定义一组相关联的应用容器,这组容器会根据模板中的“--link”等参数,对启动的优先级自动排序,简单的执行一条“docker-compose up”,就可以把同一个服务中的多个容器依次创建和启动。

    windows的docker安装中自带了docker-compose,但是测试发现通过yml启动容器组延迟非常厉害,暂时没有定位到问题,这里改到ubantu系统中继续进行学习。

    ubantu系统安装docker请参考网上资料。

    安装docker-compose

    curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 
    

    如果出现"Permission denied"错误, 则需要在开始时 运行 sudo –i,用root权限执行上述命令。

    chmod +x /usr/local/bin/docker-compose

    查看compose是否安装成功:

    docker-compose --version
    

      

    Docker Compose 常用命令:

    执行新容器组:docker-compose up  (后台运行 + “-d”)

    删除容器组:docker-compose down

    查询容器组所有容器状态:docker-compose ps

    停止容器组:docker-compose stop

    启动容器组:docker-compose start

    指定YAML配置文件:docker-compose -f xxx/docker-compose.yml up/down/ps/stop/start

    注:默认配置文件名为docker-compose.yml,可以通过“-f”选项指定

    容器组创建案例:

    以readme demo为例,docker命令为:

    docker run --name=postgresql-redmine -d --env='DB_NAME=redmine_production' --env 'DB_USER=redmine' --env 'DB_PASS=password' sameersbn/postgresql:9.4-12
     
    docker run --name=redmine -d --link=postgresql-redmine:postgresql --publish=10083:80 --env='REDMINE_PORT=10083' sameersbn/redmine:3.2.0-4
    

     改成docker compose容器组:

    postgresql:
        image: sameersbn/postgresql:9.4-12
        environment:
            - DB_NAME=redmine_production
            - DB_USER=redmine
            - DB_PASS=password


    redmine: image: sameersbn/redmine:3.2.0-4 links: - postgresql:postgresql ports: - "8087:80" environment: - REDMINE_PORT=8087

      通过docker-compose 启动容器组,删除原来创建的容器。

    删除容器命令:docker rm xxx    (-f 强制删除运行中容器)

  • 相关阅读:
    php程序员的弱点
    php cli 模式下执行文件,require 加载路径错误
    第一次!
    IO流(一)之IO流综述
    异常和错误
    Comparable与Comparator比较分析
    Collection与Map学习笔记(三)
    两个对象比较
    Collection与Map学习笔记(二)
    包装类、及装箱和拆箱
  • 原文地址:https://www.cnblogs.com/YatHo/p/7675889.html
Copyright © 2020-2023  润新知