关键词:
一.什么是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系统软件越来越被广泛企业所使用。首先,由于每个企业的发展趋势、... 查看详情