当前位置: 首页 > news >正文

Docker-部署docker-compose以及管理服务

部署docker-compose以及管理服务


文章目录

  • 部署docker-compose以及管理服务
    • @[TOC]
  • 前言
  • 一、docker-compose是什么?
    • 1、介绍
    • 2、 功能
  • 二、安装docker-compose
    • 1.yum直接安装
    • 2.二进制安装
    • 3.pip安装
  • 三、docker-compose部署服务
    • 1.编写docker-compose.yml文件
  • 总结

前言

Docker 是一个开源的容器化平台,可以帮助我们快速构建、打包和运行应用程序。而 Docker Compose 则是用于管理多个容器应用的工具,可以轻松定义和管理多个容器之间的关系。

一、docker-compose是什么?

1、介绍

Docker Compose是一个用来定义和运行复杂应用的Docker工具。Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景

2、 功能

Docker Compose功能点:

  • 提供工具用于定义和运行多个docker容器应用;
  • 使用yaml文件来配置应用服务(docker-compse.yml);
  • 可以通过一个简单的命令docker-compse up可以按照依赖关系启动所有服务;
  • 可以通过一个简单的命令docker-compose down停止所有服务;
  • 当一个服务需要的时候,可以很简单地通过–scale进行扩容;

二、安装docker-compose

compose安装方式有三种,以下来介绍。

1.yum直接安装

#安装docker-compose,如果没有python3会安装python3yum install -y docker-compose

2.二进制安装

从github上下载docker-compose二进制文件安装

3.pip安装

pip install docker-compose

三、docker-compose部署服务

1.编写docker-compose.yml文件

version: '3.5'
services:etcd:container_name: milvus-etcdimage: quay.io/coreos/etcd:v3.5.5-arm64restart: alwaysenvironment:- ETCD_AUTO_COMPACTION_MODE=revision- ETCD_AUTO_COMPACTION_RETENTION=1000- ETCD_QUOTA_BACKEND_BYTES=4294967296- ETCD_SNAPSHOT_COUNT=50000volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/data/volumes/etcd:/etcdcommand: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcdminio:container_name: milvus-minioimage: minio/minio:latestrestart: alwaysenvironment:MINIO_ACCESS_KEY: minioadminMINIO_SECRET_KEY: minioadminvolumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/data/volumes/minio:/minio_datacommand: minio server /minio_datahealthcheck:test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]interval: 30stimeout: 20sretries: 3standalone:container_name: milvus-standaloneimage: milvusdb/milvus:latestrestart: alwayscommand: ["milvus", "run", "standalone"]environment:ETCD_ENDPOINTS: etcd:2379MINIO_ADDRESS: minio:9000swappiness: 0volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/conf/milvus/milvus.yaml:/milvus/configs/milvus.yaml- ${DOCKER_VOLUME_DIRECTORY:-.}/data/volumes/milvus:/var/lib/milvusports:- "19530:19530"- "9091:9091"depends_on:- "etcd"- "minio"doc_mongodb:image: artifacts.iflytek.com/docker-private/aimind/mongo:4.2.6container_name: doc_mongodbvolumes:- "/data/docqa/data/mongo/configdb/:/data/configdb/"- "/data/docqa/data/mongo/data/db/:/data/db/"restart: alwaysenvironment:- MONGO_INITDB_ROOT_USERNAME=aimind- MONGO_INITDB_ROOT_PASSWORD=mongoforaimind2021ports:- "27017:27017"doc-minio:container_name: doc-minioimage: minio/minio:latestrestart: alwaysenvironment:MINIO_ROOT_USER: minioadminMINIO_ROOT_PASSWORD: minioadminvolumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/data/minio/data:/data- ${DOCKER_VOLUME_DIRECTORY:-.}/data/minio/config:/root/.miniocommand: server /data --console-address ":9090"ports:- "9001:9000"- "9090:9090"doc_es:image: artifacts.iflytek.com/docker-private/aimind/elasticsearch:8.4.1container_name: doc_esvolumes:- "/data/docqa/data/esdata/:/usr/share/elasticsearch/data"- "/data/docqa/conf/elasticsearch/plugins/:/usr/share/elasticsearch/plugins/"ports:- "19300:9300"- "19200:9200"restart: alwaysenvironment:- "discovery.type=single-node"- "ES_JAVA_OPTS=-Xms256m -Xmx16g"- xpack.security.enabled=false- bootstrap.memory_lock=true- cluster.routing.allocation.disk.threshold_enabled=falseulimits:memlock:soft: -1hard: -1doc_backend:depends_on:- etcd- minio- standalone- doc_mongodb- doc_esimage: artifacts.docqa:test.556container_name: doc_backendenvironment:- "SPRING_PROFILES_ACTIVE=dev"volumes:- "/var/run/docker.sock:/var/run/docker.sock"- "/usr/bin/docker:/bin/docker"- "/data/docqa/data/docqa/:/mnt/parastor/aimind"- "/data/docqa/conf/backend/application-dev.yml:/home/doc/application-dev.yml"ports:- "8906:8906"restart: alwaysdoc_frontend:depends_on:- doc_backendimage: artifacts.frontend-test:0.0.1-aimind--light-test.51container_name: doc_frontendvolumes:- "/data/docqa/conf/frontend/nginx.conf:/etc/nginx/nginx.conf"ports:- "30880:80"restart: alwaysdoc_sim:image: artifacts.sim:1.0.0container_name: doc_simports:- "8901:8901"restart: always    networks:default:name: doc

总结

以上是docker-compose在实际项目中的使用配置,大家可以参考。

http://www.lryc.cn/news/177880.html

相关文章:

  • Android - Monkey 测试应用出现Crash报错IllegalStateException
  • Spring源码分析 事务 实现原理
  • ADS-B及雷达显示终端8.3
  • 第二章:最新版零基础学习 PYTHON 教程(第二节 - Python 输入/输出–从 Python 控制台获取输入)
  • linux安装配置 flume
  • SSM - Springboot - MyBatis-Plus 全栈体系(十五)
  • win10默认浏览器改不了怎么办,解决方法详解
  • C语言连接MySQL并执行SQL语句(hello world)
  • react实现动态递增展示数字特效
  • 读取.nrrd和.dcm文件格式医学图片可视化与预处理
  • VS CODE中的筛选器如何打开?
  • vue 多环境文件配置(开发,测试,生产)
  • 在服务器上搭建pulseaudio的运行环境,指定其运行目录、状态目录和模块目录
  • [Qt]QListView 重绘实例之一:背景重绘
  • 国庆周《Linux学习第二课》
  • 6年前的麒麟980依旧可以再战
  • JS计算任意多边形的面积
  • ios xcode15 navigationController?.navigationBar.isHidden = false无效
  • Python二级 每周练习题20
  • 深度学习-一个简单的深度学习推导
  • ES写入数据报错:retrying failed action with response code: 429
  • Redis给Lua脚本的调用
  • Spring工具类--ReflectUtils的使用
  • 联盟 | 彩漩 X HelpLook,AI技术赋能企业效率提升
  • MATLAB m文件格式化
  • ​分拆菜鸟将使阿里巴巴股票迎来新一轮上涨?
  • Excel 技巧记录-那些复杂的公式和函数
  • vue里使用elementui的级联选择器el-cascader进行懒加载的怎么实现数据回显?
  • Qt raise()问题
  • 26591-2011 粮油机械 糙米精选机