实战---在Portainer中编排docker-compose.yml文件
选择要部署容器的主机上,不用事先安装配置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
version: "2.0"
services:
hkd-eureka:
image: idocker.io/hkd-eureka:0.1
ports:
- "8761:8761"
volumes:
- /tmp
- /opt/hkd-cloud/hkd-eureka/logs
hkd-config:
image: idocker.io/hkd-config:0.1
volumes:
- /tmp
- /opt/hkd-cloud/hkd-config/logs
hkd-gateway:
image: idocker.io/hkd-gateway:0.1
volumes:
- /tmp
- /opt/hkd-cloud/hkd-gateway/logs
hkd-auth:
image: idocker.io/hkd-auth:0.1
volumes:
- /tmp
- /opt/hkd-cloud/hkd-auth/logs
hkd-user:
image: idocker.io/hkd-user:0.1
volumes:
- /tmp
- /opt/hkd-cloud/hkd-user/logs
hkd-portal:
image: idocker.io/hkd-portal:0.1
volumes:
- /tmp
- /opt/hkd-cloud/hkd-portal/logs
hkd-custom:
image: idocker.io/hkd-custom:0.1
volumes:
- /tmp
- /opt/hkd-cloud/hkd-custom/logs
hkd-cash:
image: idocker.io/hkd-cash:0.1
volumes:
- /tmp
- /opt/hkd-cloud/hkd-cash/logs
问题
1.有些服务是需要先启动的,也就是说有些服务是依赖其他服务的,需要做进一步的调整
想上述那样的,只有eureka和config两个启动了,其余的启动后失败了,因为他们需要往eureka注册中心注册,但是eureka注册中心正在启动中,导致没法注册
目前采取的办法是,等eureka启动后可以访问了,再把启动失败的服务手动再启动一次
暂时没想到用啥办法解决这个依赖关系
2.没有创建使用额外的网络空间,不过这个可以等服务都启动好了,再手动把服务添加到自定义的网络空间
3.假若镜像更新了,服务如何更新
实战---在Portainer中编排docker-compose.yml文件的更多相关文章
- Docker Compose YML文件配置
Docker Compose YML 默认的模板文件是 docker-compose.yml,其中定义的每个服务都必须通过 image 指令指定镜像或 build 指令(需要 Dockerfile)来 ...
- docker compose yml 文件常用字段简介
常用参数: version # 指定 compose 文件的版本 services # 定义所有的 service 信息, services 下面的第一级别的 key 既是一个 service 的名称 ...
- Istio入门实战与架构原理——使用Docker Compose搭建Service Mesh
本文将介绍如何使用Docker Compose搭建Istio.Istio号称支持多种平台(不仅仅Kubernetes).然而,官网上非基于Kubernetes的教程仿佛不是亲儿子,写得非常随便,不仅缺 ...
- docker实战——在测试中使用Docker
在之前几章中介绍的都是Docker的基础知识,了解什么是镜像,docker基本的启动流程,以及如何去运作一个容器等等. 接下来的几个章节将介绍如何在实际开发和测试过程中使用docker. 将Docke ...
- Docker Compose模板文件介绍
模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多,这里面大部分指令跟 docker run 相关参数的含义都是类似的.默认的模板文件名称为 docker-compose.yml ,格 ...
- Docker Compose 模板文件 V2
模板文件是使用Compose的核心,默认模板文件名称为docker-compose.yml ,格式为YAML格式. 目录结构 [root@localhost ~]# tree /opt/compose ...
- Docker Compose yml
Wordpress + Mysql version: '3' services: db: image: mysql:latest volumes: - db_data:/var/lib/mysql e ...
- Docker Compose集成式应用组合及service编排
Compose简介 Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排.其代码目前在 https://github.com/docker/compose 开源.C ...
- asp.net core容器&mysql容器network互联 & docker compose方式编排启动多个容器
文章简介 asp.net core webapi容器与Mysql容器互联(network方式) docker compose方式编排启动多个容器 asp.net core webapi容器与Mysql ...
随机推荐
- 如何用 银行卡OCR 接口进行快速开发
最近公司项目有一个银行卡识别的小需求,想着如果用现成的API就可以大大提高开发效率,在网上的API商店搜索了一番,发现了 APISpace,它里面的银行卡OCR非常符合我的开发需求. 银行卡OCR ...
- MongoDB慢查询与索引
MongoDB慢查询 慢查询分析 开启内置的慢查询分析器 db.setProfilingLevel(n,m),n的取值可选0,1,2 0:表示不记录 1:表示记录慢速操作,如果值为1,m需要传慢查询的 ...
- ROS机械臂 Movelt 学习笔记2 | Move Group 接口 C++
Movelt为使用者提供了一个最通用且简单的接口 MoveGroupInterface 类,这个接口提供了很多控制机器人的常用基本操作,如: 设置机械臂的位姿 进行运动规划 移动机器人本体 将物品添加 ...
- Python 元类详解
一.Type介绍 在Python中一切皆对象,类它也是对象,而元类其实就是用来创建类的对象(由于一切皆对象,所以元类其实也是一个对象). 先来看这几个例子: 例1: In [1]: type(12) ...
- YII XSS(跨站脚本攻击)
\Yii::$app->response->headers->add('X-XSS-Protection','0');//表示关闭YII的跨站脚本过滤//http://www.fro ...
- 在Centos7.3下使用Siege对Django服务进行压力测试
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_87 Siege是linux下的一个web系统的压力测试工具,支持多链接,支持get和post请求,可以对web系统进行多并发下持续 ...
- Vue 自定义事件 && 组件通信
1 App.vue 2 <template> 3 <!-- 4 组件的自定义事件: 5 1.一种组件间通信的方式,使用于:子组件===>父组件 6 2.使用场景:A是父组件,B ...
- Rider调试ASP.NET Core时报thread not gc-safe的解决方法
新建了一个ASP.NET Core 5.0的Web API项目,当使用断点调试Host.CreateDefaultBuilder(args)时,进入该函数后查看中间变量的值,报错Evaluatio ...
- Excel 文本函数(二):CONCATENATE 和 CONCAT
在 Excel 2016.Excel Mobile 和 Excel 网页版中,CONCATENATE 函数已替换为 CONCAT 函数. CONCATENATE 函数只能拼接单个单元格或文本字符,不能 ...
- shiro登录过程
工作流程: 浏览器将用户名.密码.是否记住登录等信息发送给登录controller , new UsernamePasswordToken()获取token,将用户名.加密后的密码.rememberM ...