ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Docker学习高级篇04-Compose容器编排

2022-02-02 22:33:40  阅读:151  来源: 互联网

标签:容器 compose 服务 04 yml Compose Docker docker


0x00 简介

1、是什么?

Docker-compose是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。

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

2、能干嘛?

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

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

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

Compose允许用户通过一个单独的都docker-compose.yml模版文件(YAML格式)来定义一组相关联的应用容器为一个项目(project)。可以很容易地用一个配置文件定义一个多容器的应用。然后使用一条指令安装这个应用的所有依赖。完成构建。Docker-Compose解决了容器与容器之间如何管理编排的问题。

Java spring

Java里面需要对象,就new一个,但是对象多了就难以管理,如何统一管理,就需要applicationContext.xmlbean

image-20220131152504516

docker-compose

Docker需要一个容器就run一个,但是越来越多。也涉及到对象的启动顺序和前提条件等。我能否一键启动,一键stop等

image-20220131153941986

3、官网?

介绍compose如何编写:https://docs.docker.com/compose/compose-file/compose-file-v3

下载安装的地方:https://docs.docker.com/compose/install/

docker-compose推荐使用V3,不要使用V2,但是要与docker的版本匹配才行。

image-20220131155102708

4、安装与卸载?

1、Run this command to download the current stable release of 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

2、添加执行权限

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

3、验证

docker-compose --version

image-20220131160432898

4、卸载

如果使用curl的方式安装:

sudo rm /usr/local/bin/docker-compose

如果使用pip安装的:

pip uninstall docker-compose

Compose核心概念

1文件, 2要素

1文件:docker-compose.yml

两要素

服务(service)

一个个应用容器实例,比如订单微服务、库存微服务、mysql容器

工程(project)

由一组关联的应用容器组成的一个完整业务单元,在docker-compose.yml文件中定义。

image-20220131161029731

docker-compose up 等价于,多个docker run

Compose使用的三个步骤

1、编写dockerfile定义各个微服务应用并构建出对应的镜像文件

2、使用docker-compose.yml定义一个完整业务单元,安排好整体应用中的各个容器服务

3、最后,执行docker-compose up命令来启动并运行整个应用程序,完成一键部署上线

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		#停止服务

标签:容器,compose,服务,04,yml,Compose,Docker,docker
来源: https://www.cnblogs.com/sukusec301/p/15860874.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有