Docker Compose 服务编排

article/2025/10/3 3:53:27

微服务架构中一般会有多个微服务,每一个微服务一般都会部署多个实例,如果每一个服务都手动启动,工作量会很大。服务编排就是按照一定的业务规则进行批量管理容器。

docker基础请参考 Docker相关内容整理(一)_活水774的博客-CSDN博客

Docker应用部署_活水774的博客-CSDN博客 Docker相关内容整理(二)_活水774的博客-CSDN博客

1.Docker Compose的使用步骤

  • 利用Dockerfile定义运行环境镜像(dockerfile相关使用参考Docker相关内容整理(二)_活水774的博客-CSDN博客)
  • 使用docker-compose.yml定义组成应用的各服务
  • 运动docker-compose.up 启动应用

2.Docker Compose 的安装

  • 首先需要安装dockerDocker相关内容整理(一)_活水774的博客-CSDN博客
  •  执行命令以二进制包的方式安装在宿主机的系统中
    sudo curl -L https://github.com/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose #如果github的网速慢,也可以使用下面连接下载sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose#注 uname -s 表示系统名称uname -m 表示多少位的操作系统
    • 使用github下载时可能会出现curl: 35 tcp connection reset by peer问题,再执行一次命令既可以了
  • 设置文件可执行权限
    chmod +x /usr/local/bin/docker-compose
  • 查看版本信息

    docker-compose -version

3.Docker Compose的卸载

#删除二进制文件即可卸载docker-compose
rm /usr/local/bin/docker-compose

4.应用举例:

使用docker compose编排nginx+springboot项目

  • 首先使用dockerfile构建自己的springboot项目镜像,具体步骤如下,如果这一步已经完成可以直接跳过这个过程
  1. 本地idea打成一个springboot的jar包并上传到linux服务器上,相关jar包资源连接 https://download.csdn.net/download/weixin_59230567/85176753相关代码如下
    @RestController
    public class HelloController {@RequestMapping("/hello")public String hello(){return "hello springboot with nginx for docker compose ~ ";}
    }
  2. 新建docker-compose文件夹

    #~表示root 目录即 /root
    mkdir ~/docker-compose
    cd  ~/docker-compose

    上传jar包到docker-compose文件夹中

  3. 在docker-compose目录下构建dockerfile文件 

    vim dockerfileFROM java:8
    MAINTAINER xiaohuoshi
    ADD docker_compose_springboot-0.0.1-SNAPSHOT.jar docker_compose_springboot.jar
    CMD java -jar docker_compose_springboot.jar注:
    FROM image_name:tag              --指定dockerfile基于那个image构建,镜像不存在会先下载
    MAINTAINER user_name             --声明镜像的构建者
    ADD source_dir/file dest_dir/file  --将宿主机文件复制到容器内,并自动解压
    CMD command                      --容器启动命令
    
  4. 通过dockerfile构建镜像

    docker build -t='docker_compose_springboot' .

     查看镜像是否构建成功使用docker images

    表示自定义镜像创建成功 

  5. 在docker-compose文件夹中创建docker-compose.yml

    vim docker-compose.yml
    #输入内容如下version: '3'
    services:nginx:image: nginxports:- 80:80links:- appvolumes:- ./nginx/conf.d:/etc/nginx/conf.dapp:image: docker_compose_springbootexpose:- "8080"

    需要注意空格的部分即格式对应部分,上面两个“app”可自定义名称,但必须保持相同

  6. 在docker-compose文件夹中创建nginx/conf.d目录并创建xhs.conf(名字可以自定义)

    mkdir -p nginx/conf.d
    cd nginx/conf.d#创建xhs.conf
    vim xhs.conf
    #输入内容如下
    server {listen 80; access_log off; location / { proxy_pass http://app:8080; } 
    }
    

  7. 在docker-compose目录下 使用docker-compose启动容器

    docker-compose up

    能够看到启动了nginx服务和springboot服务 

  8. 测试访问

  9. 之前其他命令需要重新复制一个窗口

    #查看启动的容器
    docker ps#关闭单个容器
    docker stop 容器名称/id#关闭docker-compose启动的容器,需要进入到docker-compose目录下
    docker-compose stop #这种不会删除容器和里面的数据
    docker-compose down #这种会删除容器和删除容器里面的network

     

如果有疑问欢迎在下方评论中留言 


http://chatgpt.dhexx.cn/article/Sh2SwTEE.shtml

相关文章

9_服务编排

是什么 微服务架构的应用系统中一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启 动停止,维护的工作量会很大。来看下我们日常工作: 要从Dockerfile build image 或者去 dockerhub 拉取 image要创…

Docker服务编排

概述 服务编排概念 微服务架构的应用系统中一般包含若干个微服务,每个微服务都会部署多个实例,如果每个微服务都要手动启停,维护的工作量会很大。 具体工作大概如下: 从Dockerfile build image或者取dockerhub拉取image。创建多…

详解微服务编排

你的组织是否使用微服务风格的体系结构来实现其业务功能?你使用什么方法来实现微服务的通信和编排?在过去的几年中,微服务一直是一个相当占主导地位的应用程序架构,通常与云平台(例如,容器、K8s、FaaS&…

服务编排-前端应用和后端服务能力间关键衔接

转载自:https://www.toutiao.com/a6922250238791090691/?log_fromce077552cde8e_1635167920723 首先提出一个重要观点,即在当前微服务架构转型中,服务编排将成为一个大的技术发展趋势,其主要原因展开描述如下: 当前…

蚁群算法原理及Matlab实现

转自:https://blog.csdn.net/zuochao_2013/article/details/71872950 原 蚁群算法 2017年05月13日 20:23:13 阅读数:7821 蚁群算法(AG)是一种模拟蚂蚁觅食行为的模拟优化算法,它是由意大利学者Dorigo M等人于1991年首先提出,并首先…

蚁群算法讲解python

简介 蚁群算法(Ant Clony Optimization, ACO)作为一个启发式群智能算法,它是由一群无智能或有轻微智能的个体通过相互协作而表现出智能行为,从而为求解复杂问题提供了一个新的可能性。 ACO是一种仿生学算法&#xff…

蚁群算法详解(含例程)

该篇博客为课程学习的笔记,含一个例子可以帮助理解蚁群算法,主要为理论知识的总结。 蚁群算法详解 1.算法简介2.Ant System(蚂蚁系统)2.1 路径构建2.2 信息素更新 3. 改进的蚁群算法3.1 精英策略的蚂蚁系统(Elitist Ant System, EAS)3.2 基于排列的蚂蚁…

蚁群算法小结及算法实例(附Matlab代码)

目录 1、基本蚁群算法 2、基本蚁群算法的流程 3、关键参数说明 3.1 信息素启发式因子 α 3.2 期望启发因子 β 3.3 信息素蒸发系数 ρ 3.4 蚂蚁数目 m 3.5 信息素强度 Q 对算法性能的影响 3.6 最大进化代数 G 4、MATLAB仿真实例 4.1 蚁群算法求解旅行商问题&#xf…

蚁群算法代码实现

旅行商问题大都是用遗传算法求解,不过蚁群算法比它高效得多,在百度的蚁群算法吧里有人发了个注释清晰的代码,有兴趣的可以去研究一下蚁群算法和模拟退火算法,这两者都可以解决旅行商问题。而关于遗传算法和模拟退火算法&#xff0…

蚁群算法(ACO)

目录 ACO简介 基本原理 算法步骤 流程图 参数意义 构建路径 更新信息素 实例演示(TSP问题) ACO简介 蚁群是自然界中常见的一种生物,人们对蚂蚁的关注大都是因为“蚁群搬家,天要下雨”之类的民谚。然而随着近代仿生学的发展&…

蚁群算法及其应用

产生背景 20世纪90年代初,意大利科学家Marco Dorigo等受蚂蚁觅食行为的启发,提出蚁群算法(Ant Colony Optimization,ACO)。 一种应用于组合优化问题的启发式搜索算法。 在解决离散组合优化方面具有良好的性能。 基本思想 信息素跟踪&#…

蚁群算法原理及python代码实现

本文转载自:https://blog.csdn.net/fanxin_i/article/details/80380733 蚁群算法(AG)是一种模拟蚂蚁觅食行为的模拟优化算法,它是由意大利学者Dorigo M等人于1991年首先提出,并首先使用在解决TSP(旅行商问题)上。 之后…

蚁群算法原理以及应用

关键词:启发式算法 蚁群算法 迭代 正反馈 1.蚁群算法(ant colony algorithm,ACA)起源和发展历程 Marco Dorigo等人在研究新型算法的过程中,发现蚁群在寻找食物时,通过分泌一种称为信息素的生物激素交流觅食信息从而能快速的找到目标,于是在1991年在其博士论文中首次系统地提…

蚁群算法浅谈

本文参考:http://www.cnblogs.com/biaoyu/archive/2012/09/26/2704456.html http://blog.163.com/ykn_2010/blog/static/1420333362012111411258466/ 简介 蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用…

【转载】蚁群算法原理及实现

转自:https://blog.csdn.net/yy2050645/article/details/80820287 蚁群算法 蚁群算法,也是优化算法当中的一种。蚁群算法擅长解决组合优化问题。蚁群算法能够有效的解决著名的旅行商问题(TSP),不止如此,在…

蚁群算法原理及c++实现

参考博客 https://blog.csdn.net/Oudasheng/article/details/84994336 https://blog.csdn.net/wayjj/article/details/72809344#commentsedit https://blog.csdn.net/Oudasheng/article/details/84994336 https://www.cnblogs.com/mahaitao/p/5572095.html https://www.cnblogs…

10分钟搞懂蚁群算法

蚂蚁几乎没有视力,但他们却能够在黑暗的世界中找到食物,而且能够找到一条从洞穴到食物的最短路径。它们是如何做到的呢? 蚂蚁寻找食物的过程 单只蚂蚁的行为及其简单,行为数量在10种以内,但成千上万只蚂蚁组成的蚁群却…

蚁群算法的简单理解

蚁群优化算法是意大利学者等人在世纪年代初提出的一种源于生物世界的新型启发式仿生算法。它是从自然界中蚂蚁觅食过程的协作方式得到启发而研究产生的。 在自然界中,蚁群可以在其觅食的过程中逐渐寻找到食物源与巢穴之间的最短路径。单个蚂蚁在运动过程中能够分泌…

蚁群算法原理及matlab代码实现

蚁群算法基本原理: 背景: 在自然界中,生物群体所表现出的智能得到越来越多的关注,许多的群智能优化算法都是通过对群体智能的模拟而实现的。其中模拟蚂蚁群体觅食的蚁群算法成为一种主要的群智能算法。 算法原理: 在…

蚁群算法介绍

前言:本篇文章主要讲述蚁群算法以及相关算法的matlab实现 一、蚁群算法 蚁群算法是在20世纪90年代由澳大利亚学者Marco Dorigo等人通过观察蚁群觅食的过程,发现众多蚂蚁在寻找食物的过程中,总能找到一条从蚂蚁巢穴到食物源之间的最短路径。随…