docker--Compose安装使用、服务部署
文章目录
- 简介
- 一、下载安装
- 二、docker-compose.yml常用属性
- 三、使用实例(部署nginx服务并且结合haproxy实现负载均衡)
- 1.项目整体目录结构
- 2.编写yml部署文件
- 3.编写nginx测试页面
- 4.编写haproxy.cfg文件
- 5.创建并启动容器
- 6.效果测试
简介
微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。
Docker Compose是一种编排服务
,基于pyhton语言实现,是一个用于在 Docker 上定义并运行复杂应用的工具,可以让用户在集群中部署分布式应用
。
用户可以很容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。解决了容器与容器之间如何管理编排的问题
。
Docker Compose 中有两个重要的概念
:
服务 (service)
:一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
项目 (project)
:由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。
一、下载安装
推荐方式:
下载地址:https://mirrors.aliyun.com/docker-toolbox/linux/compose/1.21.2/
下载后放在: /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose %添加可执行权限
完成上述安装后会有docker-compose指令
二、docker-compose.yml常用属性
Image | 指定为镜像名称或镜像 ID,如果镜像在本地不存在,Compose 将会尝试拉取这个镜像 |
---|---|
Build | 指定 Dockerfile 所在文件夹的路径。 Compose 将会利用它自动构建这个镜像,然后使用这个镜像 |
Command | 覆盖容器启动后默认执行的命令 |
Links | 链接到其它服务中的容器 |
Ports | 端口映射 |
Expose | 暴露端口信息 |
Volumes | 卷挂载路径设置 |
三、使用实例(部署nginx服务并且结合haproxy实现负载均衡)
1.项目整体目录结构
2.编写yml部署文件
version: "3.9" %指定语法的版本
services: %定义服务web1: %服务名称image: nginx %镜像,需提前下载好networks:- mynetvolumes: %挂载卷- ./web1:/usr/share/nginx/htmlweb2:image: nginxnetworks:- mynetvolumes:- ./web2:/usr/share/nginx/htmlhaproxy:image: haproxynetworks:- mynetports:- "80:80"volumes:- ./haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfgnetworks:mynet:
3.编写nginx测试页面
echo web1 > web1/index.html
echo web2 > web2/index.html
4.编写haproxy.cfg文件
globalmaxconn 65535stats socket /var/run/haproxy.stat mode 600 level adminlog 127.0.0.1 local0uid 200gid 200#chroot /var/empty %更改1daemondefaultsmode httplog globaloption httplogoption dontlognullmonitor-uri /monitorurimaxconn 8000timeout client 30sretries 2option redispatchtimeout connect 5stimeout server 5sstats uri /status %更改2
# The public 'www' address in the DMZ
frontend publicbind *:80 name clear %更改3#bind 192.168.1.10:443 ssl crt /etc/haproxy/haproxy.pem#use_backend static if { hdr_beg(host) -i img }#use_backend static if { path_beg /img /css }default_backend dynamic
# The static backend backend for 'Host: img', /img and /css.
backend dynamicbalance roundrobinserver app1 web1:80 check inter 1000 %更改4server app2 web2:80 check inter 1000 %更改5
5.创建并启动容器
注意:docker-compose命令必须在项目下运行
docker-compose up -d %加-d参数表示打入后台,此时无详细参数显示
6.效果测试
docker--Compose安装使用、服务部署相关推荐
- 如何使用Docker Compose安装Drupal
The author selected United Nations Foundation to receive a donation as part of the Write for DOnatio ...
- 使用Docker Compose安装mysql
使用Docker Compose安装mysql 1运行 安装 Docker Compose 运行以下命令以下载 Docker Compose 的当前稳定版本:$ sudo curl -L " ...
- Docker快速安装RabbitMQ服务
Docker快速安装RabbitMQ服务 快速开始 #!/bin/bash # 建议保存为start.sh脚本执行 docker run -d --hostname my-rabbit --name ...
- Docker Compose安装以及入门
Docker 安装 脚本安装 自定义脚本 wget https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages ...
- docker compose 安装es和kibana
docker compose 安装es和kibana 准备工作 创建es数据存放目录 mkdir /root/app/elk/es/data 增加目录权限 不增加权限,es有可能启动不起来 chmod ...
- docker compose安装elasticsearch
docker compose安装 elasticsearch 安装 创建目录 es: mkdir es cd es 创建挂载目录 data mkdir data 创建 docker-compose.y ...
- 04@Docker Compose安装Compose模板文件的使用
文章目录 Docker Compose 一.Docker Compose的介绍 1.Compose概述 2.Docker与Docker Compose区别 二.Docker Compose的安装 1. ...
- Docker Compose安装
一 . Docker Compose概述 Docker Compose是一个用于定义和运行多个容器Docker应用程序的工具.使用Compose,您可以使用YAML文件来配置应用程序的服务.然后 , ...
- Docker 及 Docker Compose 安装及使用教程 (2020版)
文章目录 图文详细教程 1 Docker原理 2 Docker安装 3 镜像(Image) 3.1 获取镜像 3.2 查找拖取镜像 3.3 列出镜像 3.4 删除镜像 3.5 创建的镜像 4 容器(C ...
- Docker Compose 安装
官方教程 https://docs.docker.com/compose/install/ 为什么有这篇博客 Docker Compose 并不能通过 yum 安装,所以每次安装还需要找来找去,不如先 ...
最新文章
- 如何为WPF添加Main()函数
- 独家总结 | 决策树算法Python实现(附代码详解及注释)
- python杨辉三角_python中的部分高级特性
- 阿里华为百度三足鼎立,5G 资费高,操作系统 Linux 称王 | 中国物联网开发者真实现状报告...
- springmvc与ajax交互常见问题
- tensorflow精进之路(十八)——python3网络爬虫(中)
- bootstrap tab切换无效的一种情况
- 程序集与托管模块的概念
- 苹果mac快速切换工具:One Switch
- 解决Spark集群无法停止
- Java后台框架篇--Spring与Restful风格API接口开发
- c语言大作业通讯录报告,数据结构大作业报告-C语言通讯录系统-链表.pdf
- 酒店管理系统需求获取分析——G001-186-17
- 数据库之SQL更新语句中update set from用法
- Re-ID Driven Localization Refinement for Person Search
- 【vbs/bat】强制关闭程序
- ppt压缩文件怎么压缩最小,ppt无损压缩
- Apple 的 WWDC 2022 活动时间以及观看方法
- CXXNET 安装教程
- 利用Python自制一个批量图片水印添加器