企业——dockercompose的搭建

wf-aiyouwei wf-aiyouwei     2022-12-02     525

关键词:

一.什么是Docker compose?

  Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,使用Docker Compose不再需要使用shell脚本来启动容器。 

  Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景

  docker-compose默认的模板文件是 docker-compose.yml,其中定义的每个服务都必须通过 image 指令指定镜像或 build 指令(需要 Dockerfile)来自动构建。

其它大部分指令都跟 docker run 中的类似。

  如果使用 build 指令,在 Dockerfile 中设置的选项(例如:CMD, EXPOSE, VOLUME, ENV 等) 将会自动被获取,无需在 docker-compose.yml 中再次设置。
使用Compose 基本上分为三步:1.Dockerfile 定义应用的运行环境  2.docker-compose.yml 定义组成应用的各服务  3.docker-compose up 启动整个应用

 

二.Docker compose 的搭建

1.将下载的二进制文件移到 /usr/local/bin/,并赋予执行权限

  mv  docker-compose-Linux-x86_64-1.22.0  /usr/local/bin/docker-compose
  chmod +x /usr/local/bin/docker-compose

 

2.编写模板文件 docker-compose.yml

  mkdir -p /tmp/docker/compose
  cd /tmp/docker/compose
  vim docker-compose.yml
    web1:
      image: nginx
      expose:
        - 80
      volumes:
        - ./web1:/usr/share/nginx/html

    web2:
      image: nginx
      expose:
        - 80
      volumes:
        - ./web2:/usr/share/nginx/html
    haproxy:
      image: haproxy

      volumes:
        - ./haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro

      links:
        - web1
        - web2
      ports:
        - "80:80"
      expose:
        - "80"

 

3.编写测试用的测试页面

  pwd

    /tmp/docker/compose

  mkdir web1/web2

  echo web1 > web1/index.html
  echo web2 > web2/index.html

 

4.用haproxy实现负载均衡

  pwd

    /tmp/docker/compose

  mkdir haproxy
  cd haproxy/
  vim haproxy.cfg      ##这个直接从官网复制下来就可以使用
    global
      log 127.0.0.1 local0
      log 127.0.0.1 local1 notice
    defaults
      log global
      mode http
      option httplog
      option dontlognull
      timeout connect 5000ms
      timeout client 50000ms
      timeout server 50000ms
      stats uri /status

    frontend balancer
      bind 0.0.0.0:80
      default_backend web_backends

    backend web_backends
      balance roundrobin  ##实现的是:轮训的效果
      server server1 web1:80 check
      server server2 web2:80 check

 

5.导入镜像,并运行compose

  docker load -i nginx.tar
  docker load -i haproxy.tar

  cd -
    /tmp/docker/compose/haproxy
  docker-compose up -d
    Creating compose_web1_1 ... done
    Creating compose_web2_1 ... done
    Creating compose_haproxy_1 ... done
  docker-compose logs      ##可以查看日志记录
    Attaching to compose_haproxy_1, compose_web2_1, compose_web1_1
    haproxy_1 | <7>haproxy-systemd-wrapper: executing /usr/local/sbin/haproxy -p /run/haproxy.pid -f /usr/local/etc/haproxy/haproxy.cfg -Ds

 

6.进入浏览器进行测试  刷新会出现轮训的效果,而且会记录到log日志文件中

      技术图片

 

7.想要删除相应的创建好的容器,需要先关闭,再删除

      技术图片

 

dockercompose一键搭建lnmp开发环境

参考技术Adockercompose是用来配置和运行多容器服务的工具(适用于单机,集群请使用k8s),通过docker-compose命令可轻松对多个容器进行如下操作:安装dockercompose,官方文档:https://docs.docker.com/compose/install/执行dockercompose准备步骤dockerco... 查看详情

dockercompose搭建redis7.0.4高可用一主二从三哨兵集群并整合springboot图文完整版

一、前言redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群。redis有两种高可用的方案:HighavailabilitywithRedisSentinelScalingwithRedisCluster第一个就是我们本次的要搭建的,就是高可... 查看详情

二用dockercompose搭建kafka集群

...现。在另一篇两种方式搭建Zookeeper伪集群:纯手工或使用Dockercompose里,尝试了如何用dockercompose来搭建一个zookeeper集群。在此基础上,我们用dockercompose搭建一个kafka集群。 查看详情

dockercompose搭建redis7.0.4高可用一主二从三哨兵集群并整合springboot图文完整版(代码片段)

一、前言redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群。redis有两种高可用的方案:HighavailabilitywithRedisSentinelScalingwithRedisCluster第一个就是我们本次的要搭建的,就是高可... 查看详情

dockercompose安装使用,及搭建nginx+php+mysql基础应用实例(代码片段)

...09;,这时可以考虑用Compose这个服务来搭建配置。一、DockerCompose简介:Docker-Compose是Docker的一种编排服务,是一个用于在Docker上 查看详情

dockercompose搭建pxc集群(代码片段)

yls2020/5/2创建目录结构cd/usr/local/dockermkdirpxccdpxcmkdirdatamasterfollower#创建数据卷cddatamkdirv1v2v3#设置权限chmod777v1v2v3创建pxc集群的网络dockernetworkcreate--subnet192.168.5.1/24pxc创建master节点的docker-compose.yml文件version:‘3‘services:pxc1:image:pxcresta... 查看详情

dockercompose——搭建redis集群(代码片段)

环境配置Docker18.xDocker-Compose3.7Redis6.2.5主从(Master-Slave)模式主从复制模式中包含一个主数据库实例(master)与一个或多个从数据库实例(slave),如下图客户端可对主数据库进行读写操作,对从数... 查看详情

docker私有仓库部署之compose搭建consul集群(代码片段)

文章目录一、DockerCompose简介1.1DockerCompose概述1.2DockerCompose容器编排1.3DockerCompose常用命令1.4DockerCompose配置常用字段二、Consul简介2.1consul概述2.2Consul容器服务更新与发现三、部署Compose3.1安装docker、设置镜像加速3.2compose部署四、consu... 查看详情

使用docker-compose搭建consul集群环境!!!(代码片段)

...mpose搭建consul集群环境一.Composeconsul的概述1.什么是Compose2.DockerCompose容器编排3.DockerCompose配置常用字段字段描述4.DockerCompose常用命令二.Consul的概述1.什么是consul2.Consul的特性3.Consul容器服务更新与发现三.Compose的部署1.服务器准备2.... 查看详情

使用docker-compose搭建consul集群环境!!!(代码片段)

...mpose搭建consul集群环境一.Composeconsul的概述1.什么是Compose2.DockerCompose容器编排3.DockerCompose配置常用字段字段描述4.DockerCompose常用命令二.Consul的概述1.什么是consul2.Consul的特性3.Consul容器服务更新与发现三.Compose的部署1.服务器准备2.... 查看详情

使用docker-compose搭建consul集群环境(代码片段)

...档文章目录一、Composeconsul的概述1、Compose是什么?2、DockerCompose容器编排3、DockerCompose配置常用字段4、DockerCompose常用命令二、Consul的概述1、consul是什么2、Consul容器服务更新与发现三、部署Com 查看详情

构建dockercompose服务堆栈(代码片段)

1.安装了docker-compose,现在我们要使用docker-compose来运行容器栈。这个地方会有两个容器,一个容器中使用Flask搭建的简单应用,另一个容器是Redis,Flash会向redis写入数据。因此设计到容器之间的通信。之前我们讲到了,容器之间... 查看详情

企业运维实战--docker三剑客二之docker-compose(代码片段)

企业运维实战--Docker三剑客二之docker-compose前言-dockercompose简介dockercompose实践docker-compose安装docker-compose配置haproxy+nginx负载均衡前言-dockercompose简介DockerCompose是一种编排服务,基于pyhton语言实现,是一个用于在Docker上定... 查看详情

企业信息平台的快速搭建,框架如何选?

企业信息平台的快速搭建,框架如何选?   Web端开发框架如何选 目前,大部分的企业信息集成系统都在web端运行,而搭建框架的选择对一个企业的发展至关重要,不过其最终目的都是要符合企业发展逻辑,助力企业战略的... 查看详情

企业信息平台的快速搭建,框架如何选?

企业信息平台的快速搭建,框架如何选? Web端开发框架如何选目前,大部分的企业信息集成系统都在web端运行,而搭建框架的选择对一个企业的发展至关重要,不过其最终目的都是要符合企业发展逻辑,助力企业战略的实施... 查看详情

快速搭建企业subversion

                    快速搭建企业subversion                                                作者:尹正杰  我们公司用的版本控制控制系统... 查看详情

lamp搭建以及企业网站搭建

                      linux中的LAMP的部署以及企业网站的搭建1.先卸载以rpm方式安装的php以及依赖包2.插入linux的系统盘并安装zlib-de 查看详情

企业怎样搭建适合自己的oa系统软件?

oa系统软件是指运用计算机网络能够帮助企业实现自动化办公,提高工作效率、节省办公成本、规范企业管理等。然而,随着互联网时代不断发展的趋势,oa系统软件越来越被广泛企业所使用。首先,由于每个企业的发展趋势、... 查看详情