docker之compose篇

参考链接

docker系列视频

blog.csdn.net/sareur_1879...

compose背景、解决的问题

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

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

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

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

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

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

  1. Dockerfile是用来构建docker镜像的
  2. docker-compose是用来基于docker-compose.yml来构建docker容器的

compose下载安装

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

compose管网:docs.docker.com/compose/ compose管网下载:docs.docker.com/compose/ins...

compose核心概念

服务service和工程project

  • 服务service:一个个应用容器实例,比如订单微服务、库存微服务、mysql容器、nginx容器或者redis容器

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

compose使用三个步骤

  1. 编写Dockerfile定义各个微服务应用并构建出对应的镜像文件
  2. 使用docker-compose.yml定义一个完整业务单元,安排好整体应用中的各个容器服务。
  3. 最后,执行docker-compose up命令来启动并运行整个应用程序,完成一键部署上线
相关推荐
tnan25228 分钟前
基于阿里云效实现cicd记录
阿里云·ci/cd·docker·容器·自动化
wearegogog1239 分钟前
用docker搭建selenium grid分布式环境
分布式·selenium·docker
lijun_xiao20091 小时前
DevOps(devops/k8s/docker/Linux)学习笔记-4
docker·kubernetes·devops
寒秋丶2 小时前
Milvus:通过Docker安装Milvus向量数据库(一)
数据库·人工智能·docker·ai·ai编程·milvus·rag
坚持的小马2 小时前
k8s中执行脚本如果提示etcd找不到,可以做如下的操作
容器·kubernetes·etcd
Heavydrink3 小时前
阿里云龙蜥8系统安装Docker详细教程
阿里云·docker·云计算
回忆是昨天里的海3 小时前
k8s-部署springboot容器化应用
java·容器·kubernetes
INFINI Labs4 小时前
使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理
java·docker·eureka·devops·docker compose·console·easyserach
立早正文4 小时前
Docker从零到一部署DNMP+Redis《全程干货》
docker·容器·php
hkNaruto4 小时前
【k8s】Kubernetes 资源限制设置规范手册 MB与MiB的概念混淆问题
云原生·容器·kubernetes