选择要部署容器的主机上,不用事先安装配置docker-compose

官方示例文档地址,2.0版本的:https://docs.docker.com/compose/compose-file/compose-file-v2/









使用这个功能创建的docker容器,使用的容器卷是在:/var/lib/docker/volumes路径下

docker-compose.yml使用的镜像,优先查找本地,若本地有,则使用,没有则从Docker Hub上拉取,所以若想使用私有仓库的镜像,需要提前从私有仓库中把镜像给拉取到本地

如上这个只是最简单的,通过在Portainer上的stack功能编写docker-compose.yml内容,使用自定义的eureka镜像,启动一个容器。

使用docker命令查看

完整操作

先从私有仓库把镜像拉取到本地



编写docker-compose.yml文件

这里只给eureka服务映射端口

  • 默认网络使用的是bridge(桥接)
  • 容器的日志驱动是json-file
  1. version: "2.0"
  2. services:
  3. hkd-eureka:
  4. image: idocker.io/hkd-eureka:0.1
  5. ports:
  6. - "8761:8761"
  7. volumes:
  8. - /tmp
  9. - /opt/hkd-cloud/hkd-eureka/logs
  10. hkd-config:
  11. image: idocker.io/hkd-config:0.1
  12. volumes:
  13. - /tmp
  14. - /opt/hkd-cloud/hkd-config/logs
  15. hkd-gateway:
  16. image: idocker.io/hkd-gateway:0.1
  17. volumes:
  18. - /tmp
  19. - /opt/hkd-cloud/hkd-gateway/logs
  20. hkd-auth:
  21. image: idocker.io/hkd-auth:0.1
  22. volumes:
  23. - /tmp
  24. - /opt/hkd-cloud/hkd-auth/logs
  25. hkd-user:
  26. image: idocker.io/hkd-user:0.1
  27. volumes:
  28. - /tmp
  29. - /opt/hkd-cloud/hkd-user/logs
  30. hkd-portal:
  31. image: idocker.io/hkd-portal:0.1
  32. volumes:
  33. - /tmp
  34. - /opt/hkd-cloud/hkd-portal/logs
  35. hkd-custom:
  36. image: idocker.io/hkd-custom:0.1
  37. volumes:
  38. - /tmp
  39. - /opt/hkd-cloud/hkd-custom/logs
  40. hkd-cash:
  41. image: idocker.io/hkd-cash:0.1
  42. volumes:
  43. - /tmp
  44. - /opt/hkd-cloud/hkd-cash/logs







问题

1.有些服务是需要先启动的,也就是说有些服务是依赖其他服务的,需要做进一步的调整

想上述那样的,只有eureka和config两个启动了,其余的启动后失败了,因为他们需要往eureka注册中心注册,但是eureka注册中心正在启动中,导致没法注册

目前采取的办法是,等eureka启动后可以访问了,再把启动失败的服务手动再启动一次

暂时没想到用啥办法解决这个依赖关系

2.没有创建使用额外的网络空间,不过这个可以等服务都启动好了,再手动把服务添加到自定义的网络空间



3.假若镜像更新了,服务如何更新

实战---在Portainer中编排docker-compose.yml文件的更多相关文章

  1. Docker Compose YML文件配置

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

  2. docker compose yml 文件常用字段简介

    常用参数: version # 指定 compose 文件的版本 services # 定义所有的 service 信息, services 下面的第一级别的 key 既是一个 service 的名称 ...

  3. Istio入门实战与架构原理——使用Docker Compose搭建Service Mesh

    本文将介绍如何使用Docker Compose搭建Istio.Istio号称支持多种平台(不仅仅Kubernetes).然而,官网上非基于Kubernetes的教程仿佛不是亲儿子,写得非常随便,不仅缺 ...

  4. docker实战——在测试中使用Docker

    在之前几章中介绍的都是Docker的基础知识,了解什么是镜像,docker基本的启动流程,以及如何去运作一个容器等等. 接下来的几个章节将介绍如何在实际开发和测试过程中使用docker. 将Docke ...

  5. Docker Compose模板文件介绍

    模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多,这里面大部分指令跟 docker run 相关参数的含义都是类似的.默认的模板文件名称为 docker-compose.yml ,格 ...

  6. Docker Compose 模板文件 V2

    模板文件是使用Compose的核心,默认模板文件名称为docker-compose.yml ,格式为YAML格式. 目录结构 [root@localhost ~]# tree /opt/compose ...

  7. Docker Compose yml

    Wordpress + Mysql version: '3' services: db: image: mysql:latest volumes: - db_data:/var/lib/mysql e ...

  8. Docker Compose集成式应用组合及service编排

    Compose简介 Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排.其代码目前在 https://github.com/docker/compose 开源.C ...

  9. asp.net core容器&mysql容器network互联 & docker compose方式编排启动多个容器

    文章简介 asp.net core webapi容器与Mysql容器互联(network方式) docker compose方式编排启动多个容器 asp.net core webapi容器与Mysql ...

随机推荐

  1. 如何用 银行卡OCR 接口进行快速开发

    最近公司项目有一个银行卡识别的小需求,想着如果用现成的API就可以大大提高开发效率,在网上的API商店搜索了一番,发现了 APISpace,它里面的银行卡OCR非常符合我的开发需求.   银行卡OCR ...

  2. MongoDB慢查询与索引

    MongoDB慢查询 慢查询分析 开启内置的慢查询分析器 db.setProfilingLevel(n,m),n的取值可选0,1,2 0:表示不记录 1:表示记录慢速操作,如果值为1,m需要传慢查询的 ...

  3. ROS机械臂 Movelt 学习笔记2 | Move Group 接口 C++

    Movelt为使用者提供了一个最通用且简单的接口 MoveGroupInterface 类,这个接口提供了很多控制机器人的常用基本操作,如: 设置机械臂的位姿 进行运动规划 移动机器人本体 将物品添加 ...

  4. Python 元类详解

    一.Type介绍 在Python中一切皆对象,类它也是对象,而元类其实就是用来创建类的对象(由于一切皆对象,所以元类其实也是一个对象). 先来看这几个例子: 例1: In [1]: type(12) ...

  5. YII XSS(跨站脚本攻击)

    \Yii::$app->response->headers->add('X-XSS-Protection','0');//表示关闭YII的跨站脚本过滤//http://www.fro ...

  6. 在Centos7.3下使用Siege对Django服务进行压力测试

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_87 Siege是linux下的一个web系统的压力测试工具,支持多链接,支持get和post请求,可以对web系统进行多并发下持续 ...

  7. Vue 自定义事件 && 组件通信

    1 App.vue 2 <template> 3 <!-- 4 组件的自定义事件: 5 1.一种组件间通信的方式,使用于:子组件===>父组件 6 2.使用场景:A是父组件,B ...

  8. Rider调试ASP.NET Core时报thread not gc-safe的解决方法

      新建了一个ASP.NET Core 5.0的Web API项目,当使用断点调试Host.CreateDefaultBuilder(args)时,进入该函数后查看中间变量的值,报错Evaluatio ...

  9. Excel 文本函数(二):CONCATENATE 和 CONCAT

    在 Excel 2016.Excel Mobile 和 Excel 网页版中,CONCATENATE 函数已替换为 CONCAT 函数. CONCATENATE 函数只能拼接单个单元格或文本字符,不能 ...

  10. shiro登录过程

    工作流程: 浏览器将用户名.密码.是否记住登录等信息发送给登录controller , new UsernamePasswordToken()获取token,将用户名.加密后的密码.rememberM ...