Docker容器编排

Docker容器编排

    • 简介
    • 为什么需要 Compose?
    • 安装docker-compose
    • 常用命令
    • 使用步骤
    • 小案例
    • 总结

简介

Compose(容器编排) 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器。主要实现对Docker容器集群的快速编排。

为什么需要 Compose?

docker建议我们每一个容器中只运行一个服务,因为docker容器本身占用资源极少,所以最好是将每个服务单独的分割开来但是这样我们又面临了一个问题?

如果我需要同时部署好多个服务,难道要每个服务单独写Dockerfile然后在构建镜像,构建容器,这样累都累死了,所以docker官方给我们提供了docker-compose多服务部署的工具

例如要实现一个Web微服务项目,除了Web服务容器本身,往往还需要再加上后端的数据库mysql服务容器,redis服务器,注册中心eureka,甚至还包括负载均衡容器等等。。。。。。

Compose允许用户通过一个**单独的docker-compose.yml模板文件(YAML 格式)**来定义一组相关联的应用容器为一个项目(project)。

可以很容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。Docker-Compose 解决了容器与容器之间如何管理编排的问题。

安装docker-compose

官网下载地址:https://docs.docker.com/compose/install/

安装步骤:

下载docker-compose

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

修改权限

chmod +x /usr/local/bin/docker-compose

查看docker-compose的版本

docker-compose --version

image-20221108085659298

卸载:

rm /usr/local/bin/docker-compose

常用命令

docker-compose -h                           # 查看帮助
docker-compose up                           # 启动所有docker-compose服务
docker-compose up -d                        # 启动所有docker-compose服务并后台运行
docker-compose down                         # 停止并删除容器、网络、卷、镜像。
docker-compose exec  yml里面的服务id          # 进入容器实例内部  docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
docker-compose ps                      # 展示当前docker-compose编排过的运行的所有容器
docker-compose top                     # 展示当前docker-compose编排过的容器进程
docker-compose logs  <yml里面的服务id>     # 查看容器输出日志
docker-compose config     	# 检查配置
docker-compose config -q  	# 检查配置,有问题才有输出
docker-compose restart   	# 重启服务
docker-compose start     	# 启动服务
docker-compose stop      	# 停止服务

使用步骤

  • 编写Dockerfile定义各个微服务应用并构建出对应的镜像文件
  • 使用 docker-compose.yml 定义一个完整业务单元,安排好整体应用中的各个容器服务。
  • 最后,执行 docker-compose up 命令 来启动并运行整个应用程序,完成一键部署上线

小案例

使用容器编排完成部署个人的服务和mysql及redis:

这里需要先将个人服务打包成镜像,可以通过 dockerfile 或者是 docker commit 指令完成,这里不再细说…

编写docker-compose.yml文件

version: "3" #指定版本号#配置各个容器服务
services:#配置个人服务microService:#指定镜像image: zzyy_docker:1.6#指定容器名称container_name: ms01#指定端口映射ports:- "6001:6001"#指定容器卷volumes:- /app/microService:/data#指定网络模式networks: - hypig_net depends_on: #表示只有当Docker中运行着指定的容器时,该服务容器才运行- redis- mysql#配置redis容器redis:image: redis:6.0.8ports:- "6379:6379"volumes:- /app/redis/redis.conf:/etc/redis/redis.conf- /app/redis/data:/datanetworks: - atguigu_net#指定容器运行的指令command: redis-server /etc/redis/redis.conf#配置mysql容器mysql:image: mysql:5.7#配置相关的环境environment:MYSQL_ROOT_PASSWORD: 'lzb'MYSQL_ALLOW_EMPTY_PASSWORD: 'no'MYSQL_DATABASE: 'docker_test'MYSQL_USER: 'root'MYSQL_PASSWORD: 'lzb'ports:- "3306:3306"volumes:- /app/mysql/db:/var/lib/mysql- /app/mysql/conf/my.cnf:/etc/my.cnf- /app/mysql/init:/docker-entrypoint-initdb.dnetworks:- hypig_netcommand: --default-authentication-plugin=mysql_native_password #解决外部无法访问#创建网络模式
networks: hypig_net: 

在docker-compose.yml文件所在的目录下通过指令构建服务

docker-compose up -d #-d表示以守护进程运行

image-20221108085442889

查看docker容器实例

image-20221108085359776

关停服务

docker-compose stop

image-20221108085453367

总结

  • Compose的核心:编写docker-compose.yml文件
  • Compose的两要素:
    • 服务(service):一个个应用容器实例,比如订单微服务、库存微服务、mysql容器、nginx容器或者redis容器
    • 工程(project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/21464.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云编排技术:探索您的选择

最近 IT 行业有很多围绕云编排的议论&#xff0c;而且许多人想知道云编排到底是怎么回事。本文将探索云编排的概念&#xff0c;以及它将如何融入云计算的大发展趋势中。我将分析各种编排工具并介绍它们之间的区别&#xff0c;使您能够更好地了解有哪些可用的选择。 首先&#x…

终于有本书讲清了ChatGPT和AIGC的前世今生!(文末送书)

AIGC的各大门派是谁&#xff1f;典型技术都有什么&#xff1f; AIGC为什么在绘画领域先破圈&#xff1f;ChatGPT的有哪些局限性&#xff1f; 为何科技企业争相推出大模型&#xff1f; 人类的创新能力会被AIGC取代吗…… 诸如此类的这些话题呈现爆发性增长&#xff0c;频频被科技…

ChatGPT等AIGC如何移动边缘部署?南洋理工最新《 在移动网络中释放边云生成AI的力量:AIGC服务》综述其技术体系...

人工智能生成内容(AIGC)是一种使用人工智能算法创造性地生成、操作和修改有价值和多样化数据的自动化方法。本文重点研究了ChatGPT和Dall-E等AIGC应用在移动边缘网络(mobile AIGC networks)中的部署&#xff0c;这些应用在维护用户隐私的同时&#xff0c;提供个性化和定制化的实…

【ChatGPTAIGC研讨社】“iPhone时刻”:未来已来

文章目录 前言一、ChaGPT&AIGC研讨社简介二、ChatGPT&AIGC研讨社的优势1.丰富充实的资料库Github开源&#xff1a;[ChatGPT_Project](https://github.com/shawshany/ChatGPT_Project)飞书资料库 2.重量级嘉宾3.工作机会4.投资资源 总结 前言 去年年末&#xff0c;Chat…

线上渠道拓展:澳洲爱他美产品如何利用新媒体平台宣传?

爱他美作为澳大利亚本土的婴儿配方奶粉品牌&#xff0c;在澳大利亚市场拥有越来越多的支持者&#xff0c;为了进一步扩大澳大利亚市场份额&#xff0c;开拓线上市场&#xff0c;有必要利用新媒体平台来推广产品。 爱他美应该利用新媒体平台进行市场宣传。新媒体平台&#xff0c…

轻松玩转开源大语言模型bloom(一)

前言 chatgpt已经成为了当下热门&#xff0c;github首页的trending排行榜上天天都有它的相关项目&#xff0c;但背后隐藏的却是openai公司提供的api收费服务。作为一名开源爱好者&#xff0c;我非常不喜欢知识付费或者服务收费的理念&#xff0c;所以便有决心写下此系列&#…

ChatGPT官方第一手资料:这七个小技巧帮你用好ChatGPT

文 / 高扬&#xff08;微信公众号&#xff1a;量子论&#xff09; 学习技术最好的方式是什么&#xff1f;看官方资料。 然而&#xff0c;官方教材总有些晦涩难懂&#xff0c;所以大白话将意思做个翻译&#xff0c;就成为了必然。我个人建议有条件的话&#xff0c;先看官方指南。…

【GPT】让你事半功倍特别好用的5个GPT工具

文章目录 前言一、现在还能开通ChatGPT4.0吗&#xff1f;二、推荐五款与ChatGPT的相关实用工具1.一款浏览器插件&#xff1a;ChatGPT for Google2.一款生成图片的AI工具&#xff1a;midjourney3.推荐两款AI自动生成PPT&#xff1a;闪击PPT、mindshow4.识别PFD文件内容对话&…

【PTA】谷歌的招聘(C语言)

2004 年 7 月&#xff0c;谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌&#xff08;如下图&#xff09;用于招聘。内容超级简单&#xff0c;就是一个以 .com 结尾的网址&#xff0c;而前面的网址是一个 10 位素数&#xff0c;这个素数是自然常数 e 中最早出现的 10 位连续…

中兴校招笔试题-算法工程师-python

两个编程题&#xff0c;不是很难。 一、字符串分割 一个字符串内只包含T和S&#xff0c;问如何分割&#xff0c;是的每个字串有且仅有2个T&#xff0c;请计算总共有多少种分割方式&#xff1f; 说明&#xff1a; 字符串字母顺序不可改变&#xff1b; 字符串个数为奇数时&a…

如何用ChatGPT创造财富?

在当今的信息时代&#xff0c;人工智能技术的不断发展已经成为推动经济发展的新动力之一。ChatGPT作为其中的代表之一&#xff0c;可以帮助人们创造更多的财富。在本文中&#xff0c;我将会探讨如何使用ChatGPT来创造财富。 一、利用ChatGPT实现个性化服务 人工智能技术在个性…

基于ChatGLM-6B模型 + prompt实现角色扮演功能

★★★ 本文源自AlStudio社区精品项目&#xff0c;【点击此处】查看更多精品内容 >>> 1. 引言 1.1 什么是ChatGLM General Language Model (GLM)&#xff0c;据论文 https://arxiv.org/pdf/2103.10360.pdf 所述&#xff0c;是一种基于自回归空白填充的通用语言模型…

启真医学大模型

启真医学大模型 QiZhenGPT: An Open Source Chinese Medical Large Language Model 本项目利用启真医学知识库构建的中文医学指令数据集&#xff0c;并基于此在LLaMA-7B模型上进行指令精调&#xff0c;大幅提高了模型在中文医疗场景下效果&#xff0c;首先针对药品知识问答发…

深度思考:在 AI 时代,你会被放大一千倍的能力是什么?

Datawhale干货 作者&#xff1a;艾芙&#xff0c;复旦大学&#xff0c;百姓AI教育负责人 前言 大家晚上好&#xff0c;我是艾芙&#xff0c;百姓 AI 的 AI 教育负责人。 先做一下自我介绍&#xff0c;我是一个在技术圈和教育圈反复横跳的斜杠中年了。大约在 5 年前&#xff0c…

Langchain 新手完全指南

原文&#xff1a;Langchain 新手完全指南 Langchain 可能是目前在 AI 领域中最热门的事物之一&#xff0c;仅次于向量数据库。 它是一个框架&#xff0c;用于在大型语言模型上开发应用程序&#xff0c;例如 GPT、LLama、Hugging Face 模型等。 它最初是一个 Python 包&#x…

数据人一直做这四项工作,即使不被BI、AI取代,也躲不过35危机!

先说我的观点&#xff1a;数据分析职业不会被BI软件替代。顺便说一句&#xff0c;数据分析职业也不会被chatgpt取代。 大家首先要搞清楚&#xff1a;取代人的从来不是工具&#xff0c;而是会使用工具的人。 数据分析师工作内容 首先&#xff0c;先让我们来全面拆解一下国内数…

〖编程初学者的自我修养 - 优质简历篇①〗- 知己知彼,面试官是如何分析一份简历的

历时18个月&#xff0c;采访 850 得到的需求。 不管你是在校大学生、研究生、还是在职的小伙伴&#xff0c;该专栏有你想要的职业规划、简历、面试的答案。说明&#xff1a;该文属于 编程初学者的自我修养 专栏&#xff0c;购买任意白宝书体系化专栏可加入易编程社区&#xff0…

聊一聊,哪些职业受ChatGPT影响最大?

新研究发现&#xff0c;审计师、翻译及作家目前的工作内容中&#xff0c;AI工具可以更快地处理至少一半的任务。 一项新研究显示&#xff0c;面对生成式人工智能(AI)拥有的能力&#xff0c;会计师是职业最容易受到影响的 其中一类专业人士。研究人员发现&#xff0c;借助这项技…

ChatGPT 速通手册——摘要生成和重命名

摘要生成和重命名 当我们开始使用ChatGPT了以后&#xff0c;就会发现一个非常有意思的事情&#xff0c;我们发起的每一个对话&#xff0c;ChatGPT都会基于对话内容生成一个摘要展现在对话列表中&#xff0c;如图所示&#xff1a; 我们的问题是“世界上最大的桥梁是哪座大桥&am…

培训班出来的程序员现在怎么样了

文章目录 0、前言1、刚出茅庐2、南下广州3、踏上北漂4、紧张的培训4、两进两出5、站稳脚跟6、奋斗至今7、一些收获 0、前言 大多数刚出校门的同学&#xff0c;都有过迷茫。因为少数家里有矿的除外。都是必然要经历的过程。迷茫之后&#xff0c;当然都会作出选择&#xff0c;因…