• docker-compose简介及安装


    一、简介

    Compose是用于定义和运行多容器Docker应用程序的工具,是docker的服务编排工具,主要应用于构建基于Docker的复杂应用,compose通过一个配置文件来管理多个docker容器,适合组合使用多个容器进行开发的场景。

    使用compose,可以使用yaml文件配置应用程序的服务。

    然后,通过一个命令,可以从配置中创建和启动所有服务。

    官网:https://docs.docker.com/compose/overview/

    二、使用

    compose适用于所有环境:生产,开发,测试以及CI工作流程。

    使用compose基本上是一个三步过程:

    1. 用dockerfile,或者镜像定义应用程序的环境,以便在任何地方复制。

    2. 在docker-compose.yml中定义组成应用程序的服务,以便它们可以在单独的环境中一起运行。

    3. 运行docker compose up启动并运行整个应用程序。

    三、安装docker-ce

    一、安装docker

    1、安装依赖环境

    [root@jenkins ~]# yum -y install yum-utils device-mapper-persistent-data  lvm2

    2、准备镜像源

    [root@jenkins ~]# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo

    3、安装docker-ce

    [root@jenkins ~]# yum -y install docker-ce

    4.启动docker

    [root@docker ~]# systemctl start docker
    [root@docker ~]# systemctl enable docker
    [root@docker ~]# docker version                     #查看docker版本
    5、阿里云镜像加速器
    https://account.aliyun.com         #阿里云网站

    针对Docker客户端版本大于 1.10.0 的用户

    您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

    [root@docker ~]# cat <<EOF>/etc/docker/daemon.json
    {
      "registry-mirrors": [ "https://你的阿里云镜像加速器.com" ]
    }
    EOF
    [root@docker ~]# systemctl daemon-reload    #重新加载配置 
    [root@docker ~]# systemctl restart docker    #重启服务
     
    四、安装docker-compose
    [root@docker ~]# yum -y install libcurl libcurl-devel
    [root@docker ~]# curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-'uname -s'-'uname -m' -o /usr/local/bin/docker-compose
    [root@docker ~]# ls
    anaconda-ks.cfg         docker-compose 
    [root@docker ~]# mv docker-compose /usr/local/bin/
    [root@docker ~]# chmod +x /usr/local/bin/docker-compose
    [root@docker ~]# docker-compose --version
    docker-compose version 1.21.1, build 5a3f1a3
     
    五、docker-compose用法
    常用选项:
    --verbose:输出更多的调试信息
    --version:查看compose的版本
    -f --file FILE:使用特定的compose模板文件,默认为docker-compose.yml。
    -p --project-name NAME 指定项目名称,默认使用目录名称。
    常用命令:
    build:构建或重建服务
    ps:查看已经启动的服务状态       
    kill:停止某个服务、杀掉容器       
    logs:可以查看某个服务的log、显示容器的输出内容       
    port:打印绑定的public port(开放端口)        
    pull:拉取服务镜像      
    up:启动yml定义的所有服务     
    stop:停止yml中定义的所有服务       
    start:启动被停止的yml中的所有服务        
    kill:强行停止yml中定义的所有服务        
    rm:删除yml中定义的所有服务      
    restart:重启yml中定义的所有服务        
    scale:设置服务的容器数目
    run:运行一个一次性命令
     
     YAML简介
            Yaml简介.YAML是一种标记语言,可读性很强。类似于XML数据描述语言,语法比XML简单的多。YAML数据结构通过缩进来表示,连续的项目通过减号来表示,键值对用冒号分割,数组用括号括起来, hash用花括号括起来。
    YAML文件格式注意事项:
    在缩排中空白字符的数目并不是非常重要,只要相同阶层的元素左侧对齐就可以了(不过不能使用TAB字符);
    通常开头缩进2个空格;字符的后面缩进1个空格,比如冒号、逗号、横杆;
    支持#注释;
    允许在文件中加入选择性的空行,以增加可读性;
    docker-compose中YAML常用的字段:

    字段

    描述

    build

      dockerfile

      context

    指定dockerfile文件名

    构建镜像上下文路径

    image 指定镜像
    command 执行命令,覆盖默认命令
    container_name 指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法scale
    deploy  指定部署和运行服务相关配置,只能在Swarm模式使用
    environment 添加环境变量
    networks 加入网络,引用顶级networks下条目
    ports 暴漏端口,与-p相同,但端口不能低于60
    volumes 挂载宿主机路径或命名卷在顶级volumes定义卷名称
    restart 重启策略,默认no,always|on-failurel|unless-stopped
    hostname 容器主机名
     
     
  • 相关阅读:
    使用ansible 批量分发ssh密钥
    修改DNS
    如何使用openssl生成RSA公钥和私钥对
    压力测试 php-fpm 优化
    mysql 安装
    svn 权限配置
    powerdesigner导出word
    Mysql无法创建外键的原因
    office project 激活
    MySQL日志恢复误删记录
  • 原文地址:https://www.cnblogs.com/ZCQ123456/p/11921817.html
Copyright © 2020-2023  润新知