Docker/compose分析

Win11下Docker-Compose部署TDengine全流程解析与疑难排解 本文详细解析了在Windows 11操作系统下,使用Docker-Compose部署国产时序数据库TDengine的全流程。内容涵盖环境准备、Docker-Compose配置文件编写、服务启动与验证、以及从容器内外连接测试的详细步骤。重点针对部署过程中常见的权限、端口冲突、客户端连接失败等疑难问题提供了实用的排解方案,旨在帮助开发者在Win11环境下快速搭建稳定、可移植的TDengine开发测试环境。 阅读详情

博客源地址:http://blog.youkuaiyun.com/halcyonbaby 

Compose是什么?

Compose是Docker公司提供的开源的编排部署工具。Compose的前身是Fig,使用Python代码编写。 
License为Apache2.0,对商业友好。

为什么需要Compose?

因为用户的实际应用是复杂的,可能由多个容器组成,容器间存在关系,使用上可能需要重复多次部署。 
因此,需要一定的编排部署能力来简化这个操作。

Compose的架构

Compose目前只提供命令行工具,没有Daemon存在。Compose与Docker紧密结合,目前只支持Docker。 
当然Compose也可以支持Swarm。 
Compose运行需要有对应的yml文件以及Dockerfile。 
通过调用Docker/Swarm的API进行容器应用的编排。

Compose的现状

Compose目前版本为1.4。官方推荐在开发、测试、持续集成等非生成环境使用。并不适合生产环境使用。

Compose的模型

service:实际上是一个包含某种功能的容器。 
Compose的所有操作对象均为service。

Compose的功能

  • build(构建yml中某个服务的镜像) 
    如上,web这个服务是依赖于镜像build的。在本地 也存在Dockerfile文件。 
    可以使用docker-compose build来构建服务的镜像。
  • ps(查看已经启动的服务状态)
  • kill(停止某个服务)
  • logs(可以查看某个服务的log)
  • port(打印绑定的public port)
  • pull(pull服务镜像)
  • up(启动yml定义的所有服务)
  • stop(停止yml中定义的所有服务)
  • start(启动被停止的yml中的所有服务)
  • kill(强行停止yml中定义的所有服务)
  • rm(删除yml中定义的所有服务)
  • restart(重启yml中定义的所有服务)
  • scale(扩展某个服务的个数,可以向上或向下)
  • migrate-to-labels(这个没有实际尝试。根据介绍是将服务从1.2迁移到1.3带labels的版本。docker之前不支持label)
  • version(查看compose的版本)

Compose的缺点


没有Daemon

没有Deaemon,也就没有高可用、HA之说。 
但是同时没有Deamon,所用动作需要用户自己触发。AutoScaling、self healing等也就没有办法提供。

模型不完整

模型相对简单,只有service。 
缺乏诸如网络、存储之类的资源抽象和管理。 
也缺乏诸如kubernetes中Pod、RC、service proxy之类的抽象,由于servie本身粒度太细,操作管理起来相对麻烦。

使用Python代码编写

由于Docker社区大部分项目是Go编写的,Compose使用python不利于项目间代码共享。 
所幸的是,Compose社区目前已经开始着手此事。

与Docker紧密结合

是优点也是缺点。一方面可以很好的支持Docker的最新特性,另一方面与Docker绑死。

Compose 的未来发展

目前社区已经开始着手使用Go语言重新Compose,并以lib方式提供。 
Docker的理念是便于上层集成,也许未来会在kitematic中集成Compose的功能。 
其他第三方也可以通过各种方式进行集成。

Compose演示


yml范例
[root@localhost sleep]# cat docker-compose.yml 
sleep1:
  command: sleep 8888888
  image: busybox
  restart: always
sleep2:
  command: sleep 9999999
  image: busybox
  restart: always
  
docker-compose up

根据yml启动应用。

[root@localhost sleep]# docker-compose up
Creating sleep_sleep1_1...
Creating sleep_sleep2_1...
Attaching to sleep_sleep1_1, sleep_sleep2_1
[root@localhost sleep]# docker-compose ps
     Name           Command      State   Ports 
'----------------------------------------------'
sleep_sleep1_1   sleep 8888888   Up            
sleep_sleep2_1   sleep 9999999   Up   
#### docker-compose scale 对应用的实例个数进行扩展。
[root@localhost sleep]# docker-compose scale sleep1=2
Creating and starting 2... done
[root@localhost sleep]# docker-compose ps
     Name           Command      State   Ports 
'----------------------------------------------
sleep_sleep1_1   sleep 8888888   Up            
sleep_sleep1_2   sleep 8888888   Up            
sleep_sleep2_1   sleep 9999999   Up    
docker-compose kill

强制终止某个服务。

[root@localhost sleep]# docker-compose kill sleep1
Killing sleep_sleep1_2... done
Killing sleep_sleep1_1... done
[root@localhost sleep]# docker-compose ps
     Name           Command       State     Ports 
'-------------------------------------------------
sleep_sleep1_1   sleep 8888888   Exit 137         
sleep_sleep1_2   sleep 8888888   Exit 137         
sleep_sleep2_1   sleep 9999999   Up
docker-compose stop

正常停止某个服务。

[root@localhost sleep]# docker-compose stop sleep2
[root@localhost sleep]# docker-compose ps
     Name           Command       State     Ports 
'-------------------------------------------------
sleep_sleep1_1   sleep 8888888   Exit 137         
sleep_sleep1_2   sleep 8888888   Exit 137         
sleep_sleep2_1   sleep 9999999   Exit 137    
docker-compose start

启动已经定义的服务。

[root@localhost sleep]# docker-compose stop sleep2
[root@localhost sleep]# docker-compose ps
     Name           Command       State     Ports 
'-------------------------------------------------
sleep_sleep1_1   sleep 8888888   Exit 137         
sleep_sleep1_2   sleep 8888888   Exit 137         
sleep_sleep2_1   sleep 9999999   Exit 137    

…其他命令不再赘述。

Compose代码分析

Compose参考资料

  1. Compose文档 
    http://docs.docker.com/compose/
  2. Github地址 
    https://github.com/docker/compose



点云体素化算法研究-3.Voxelization 三维模型体素化 体素(voxel)即体积元素的简称,是数字数据在三维空间分割上的最小的单位。体素化就是通过创建三维体素网格来表示三维物体,是一种将无序点云变为有序点云的降采样的空间数据结构方法,便于实现点云的空间卷积。激光雷达(LiDAR)| Open3D:第五节 表面重建-体素化。 阅读详情

相关推荐

intel-VROC raid卡驱动 centos7.9

u盘进入系统,按e,在出现下面在quiet前面输入inst.dd initcall_blacklist=vmd_drv_init 后按Ctrl和x,开始引导。进入系统,按e,在出现下面在quiet前面输入inst.dd inicll_blacklist=vmd_drv_init 后按Ctrl和x,开始引导。驱动完成后,在输入 c 回车, 引导过程开始,进入安装界面。输入1 ,选择这个ISO驱动文件里的rpm包。输入1 ,选择这个ISO驱动文件里的rpm包。vi编辑 /etc/default/grub。

dacming的博客 4545

Docker系统性入门(三)

docker compose

Roy的博客 5996

Windows上搭建OpenHarmony星闪开发环境:HiSpark Studio全流程指南

嵌入式开发中,环境搭建是项目启动的关键步骤。OpenHarmony作为开源操作系统,其构建体系依赖Python脚本和GN/Ninja工具链,对版本兼容性要求严格。星闪(NearLink)技术作为新一代短距无线通信方案,在时延、并发和抗干扰方面优势显著,广泛应用于智能家居、工业控制等场景。在Windows平台上,通过HiSpark Studio集成开发工具,开发者可高效完成代码编辑、编译、烧录与调试。然而,Python版本冲突、环境变量配置、驱动签名等问题常导致搭建失败。本文详细拆解从系统准备到编译验证的全流

weixin_32658257的博客 345

Docker基础28--6.3 Docker三剑客之compose

Docker三剑客之compose, 安装compose, docker-compose模版文件及学用命令、docker-compose常用操作命令,docker-compose 环境变量

weixin_43631940的博客 4126

UE5Could not be compiled. Try rebuilding from source manually.

UE5Could not be compiled. Try rebuilding from source manually.

weixin_45417260的博客 2771

SAP生产订单技术性完成(TECO)操作指南与实战应用

生产订单技术关闭操作指南主要包括单笔和批量关闭两种方式,通过CO02/COHV事务码完成。

m0_47402127的博客 1932

docker-compose的一些基础知识 —— 筑梦之路

通过配置来控制创建服务容器的数量,但是并非所有场景都适用,比如Hadoop的有些组件是不适用的,像要求设置主机名和容器名的时候,就不太适用通过这个参数来调整容器的数量。

筑梦之路 930

NOTE: When using the `ipython kernel` entry point, Ctrl-C will not work.解决方案

本文主要介绍了NOTE: When using the `ipython kernel` entry point, Ctrl-C will not work.解决方案,希望能对使用jupyter notebook的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 11万+

Docker Compose基本使用

开始使用Docker Compose 预计阅读时间:10分钟,转自docker官方文档 在此页面上,您将构建一个在Docker Compose上运行的简单Python Web应用程序。该应用程序使用Flask框架并在Redis中维护一个命中计数器。虽然该示例使用Python,但即使您不熟悉它,此处演示的概念也应该是可以理解的。 先决条件 确保您已经安装了Docker Engine和Doc...

但行好事,莫问前程 990

五、MT8168 音频驱动之SPEAKER

本章主要讲解MT8168平台的内部SPEAKER驱动配置。分为HP接法和LINE OUT接法。2.1.3 audio_custom_exp.h设置。2.1.4 mixer_paths.xml设置。2.2.3 mixer_paths.xml设置。2.1.2 ProjectConfig 设置。2.2.2 ProjectConfig 设置。2.2.1 deconfig设置。2.1.1 DTS设置。......

Joon2020的博客 1664

基于LLaMA-action模型的文档摘要任务微调

文档摘要是指从长文档中提取关键信息,生成简短而准确的总结。抽取式摘要:从原文中直接抽取关键句子或短语组成摘要。生成式摘要:通过生成新的句子来表达原文的核心内容。混合式摘要:结合抽取式和生成式方法,既保留原文的关键句子,又生成新的内容。新闻网站:自动生成新闻摘要,帮助用户快速了解新闻要点。社交媒体:为用户提供新闻摘要,便于分享和传播。学术搜索引擎:为用户提供学术文献的摘要,帮助用户快速筛选相关文献。学术写作辅助:帮助研究人员快速生成文献综述部分。企业内部文档管理:自动生成文档摘要,便于员工快速了解文档内容。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1431

Docker(三) Compose

Docker Compose 安装 //下载Compose curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose //授权 chmod +x /usr/local/bin/docker-compose //检查是否安装成功 docker-compose version 运

不说话的娃娃鱼 225

数据分析案例-对某宝用户评论做情感分析

目录 原始数据 绘制词云图 情感分析 原始数据 原始数据为某宝一商品的用户评论数据 绘制词云图 # coding=utf-8 import jieba import re import wordcloud import imageio # 打开需要分析词频的文本 with open('淘宝评论3.0.txt', encoding='utf-8') as f: data = f.read() # 文本预处理 :去除一些无用的字符只提取出中文出来 new_data

m0_64336780的博客 1万+

Prometheus-07 Docker-compose安装配置prometheus以及初步分析CPU/内存利用率分析

Prometheus-07 Docker-compose安装配置prometheus以及初步分析CPU/内存利用率分析

程序员路同学 1636

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Docker-compose学习总结

案例讲解 以examples/e2e_cli/base/docker-compose-base.yaml作为案例讲解 version: '2' services: #1.系统一些环境变量的配置 #2.端口的映射关系 #3.文件的映射关系 orderer.example.com: container_name: orderer.example.com #...

holechain的博客 390

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

万象视界灵坛部署教程:Docker Compose编排CLIP-ViT-L/14+Plotly可视化服务

本文介绍了如何在星图GPU平台上自动化部署🔮 万象视界灵坛 | Omni-Vision Sanctuary 🔮镜像,实现多模态智能感知与可视化分析。该平台整合CLIP-ViT-L/14模型与Plotly工具,可快速完成图像语义匹配分析,适用于电商商品标签自动生成、社交媒体内容分类等场景,显著提升视觉数据处理效率。

weixin_33759613的博客 126

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Docker & Docker-Compose 全解析

一套的 Docker 完整介绍,从概念到微服务场景全覆盖。

weixin_39757802的博客 209

【一键下载】如何快速装好 Qt 5.14.2 Windows x86 32 位开源安装包(附避坑清单)

今天拆解的是 Qt 5.14.2 Windows x86 32 位开源安装包:一份用于搭建 Windows 桌面程序的 C++ 跨框架离线安装资源。需要留意,这个 x86 版本只在 32 位 Windows 系统上可用。如果你的任务是维护老遗留系统,或者在 32 位机器上做开发学习,可以把它下载下来;手边是 64 位系统的话,先别急着装这一份。 ## 一图速览:Qt 5.14.2 Windows

gitblog_00347的博客 453

ERROR: The Compose file ‘./docker-compose.yml‘ is invalid because:Unsupported config option for ser

docker-compose up -d 执行报错解决方案docker-compose up -d 执行报错解决方案。

盾悟 1万+

终极指南:如何快速将Docker Compose应用迁移到Kubernetes部署

在容器化应用管理领域,从Docker Compose迁移到Kubernetes是提升应用可扩展性和可靠性的关键一步。homelab项目作为基于Ansible的角色集合,提供了自动化的Kubernetes安装和管理能力,帮助用户轻松构建个人家庭实验室环境。本文将详细介绍如何利用homelab项目的功能,实现Docker Compose应用向Kubernetes的无缝迁移。 ## 为什么选择Kube

gitblog_00553的博客 929

从零到上线:Docker、Docker Compose 与 Runtime 安装部署全指南(含实战示例与应用场景)

本文提供Docker全栈部署指南,涵盖三大操作系统安装、Docker Compose使用和运行时配置。主要内容包括:Linux系统(Ubuntu/Debian/RHEL系)的官方仓库安装方式;macOS/Windows通过Docker Desktop安装;Docker Compose V2的基本用法与示例;运行时配置如cgroup驱动、日志管理和GPU支持;以及Nginx+Redis+MySQL三件套的完整Compose示例。文中所有命令均采用官方推荐做法,适用于开发和生产环境,并特别提醒生产环境变更需纳入

m0_57021623的博客 1398

3步解决Dockur Windows项目中Docker Compose卷挂载失效问题

Dockur Windows项目是一个允许用户在Docker容器中运行Windows操作系统的创新解决方案。本文将针对用户在使用过程中可能遇到的Docker Compose卷挂载失效问题,提供一套简单有效的三步解决方案,帮助新手用户快速排除故障,确保数据持久化功能正常工作。 ## 问题分析:Docker Compose卷挂载的重要性 在Docker容器中运行Windows系统时,卷挂载是实现数

gitblog_00043的博客 453

docker 入门 | 第9章 Docker-compose 和 第10章 docker图形界面管理 详解

第9章 Docker-compose 和 第10章 docker图形界面管理

2403_87659444的博客 307

Docker Compose 镜像拉取失败问题排查指南

在使用 Docker Compose 时,用户可能会遇到镜像拉取失败的问题,即使已经成功通过 `docker login` 登录了镜像仓库。本文将深入分析这类问题的常见原因和解决方案。 ## 问题现象 当用户执行 `docker compose up` 命令时,系统尝试拉取所需的 Docker 镜像,但出现如下错误: ``` error getting credentials - err: ...

gitblog_00522的博客 883

Docker-ELK终极部署指南:3步快速搭建企业级日志分析平台

Docker-ELK是一个使用Docker部署的ELK Stack(Elasticsearch、Logstash和Kibana)解决方案,提供了预先构建的Docker镜像和简单的部署脚本,帮助开发者快速搭建企业级日志分析平台。 ## 🚀 准备工作:环境与依赖检查 在开始部署前,请确保您的系统满足以下要求: - Docker Engine (20.10.0+) - Docker Compose

gitblog_01067的博客 580

Docker 进阶学习:Docker-compose容器编排-自学笔记

Docker-Compose 是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。通过定义配置yml文件,docker-compose.yml,写好多个容器之间的调用关系,通过一个命令,同时启动/关闭这些容器。类似于Spring启动时设涉及对象启动顺序和加载条件等要求,对象越来越多,spring通过 applicationContext.xml文件,对bean对象进行管理。

weixin_46958827的博客 181
上一篇: 虚拟机打包重新部署全过程详细说明
下一篇: ubunto16.04 安装配置
ipsecvpn
博客等级 码龄21年 4粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值