前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >快速学习Docker-多容器管理(docker-compose)

快速学习Docker-多容器管理(docker-compose)

作者头像
cwl_java
发布于 2019-11-04 03:44:15
发布于 2019-11-04 03:44:15
2.9K00
代码可运行
举报
文章被收录于专栏:cwl_Javacwl_Java
运行总次数:0
代码可运行

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42528266/article/details/102871909

多容器管理(docker-compose)

前面讲了 Dockerfile 用来构建 Docker 镜像,那么 docker-compose 则是用来创建容器的。 Docker 有三个主要的功能:Build、Ship 和 Run,使用 docker-compose 可以帮我们在 Run 的层面解决很多实际问题。docker-compose 通过一个 yaml 模板文件来统一管理多个容器的配置,如网络、数据卷、执行指令、环境变量、资源限制等等。有了 docker-compose 我们便可以一键重启、关闭、删除、监控所有的 docker 服务,只需要一次配置,则可以对容器进行统一管理,那么此时我们则不必为了每次要运行一堆容器时写大量的命令而头疼。

安装 docker-compose:
  • 方式一
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo curl -L 
https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) 
-o /usr/local/bin/docker-compose 
chmod +x /usr/local/bin/docker-compose        
docker-compose version 
# 查看版本号,测试是否安装成功

此方法可能因为网络的原因而无法安装,上面的命令是一个例子,它可能会变得过时。要确保您拥有最新版本,请检查GitHub上的Compose存储库版本页面。

  • 方式二:
    • 1、安装python-pip
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum -y install epel-release
yum -y install python-pip
  • 2、安装docker-compose
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install docker-compose

待安装完成后,执行查询版本的命令确认安装成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker-compose version
配置 docker-compose.yml 文件
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        version: '3' # docker 的版本
        services: # 配置的容器列表
            CONTAINER_NAME: # 容器的名称
                image: BASE_IMAGE # 这个一个容器的基础镜像
                ports: # 你的容器需不需要做端口映射
                    - "host_port:container_port"
                volumes: # 数据卷配置
                    - host_dir:container_dir
                environment: # 环境变量(map 的配置方式 key: value)
                    PARAM: VALUE
                environments: # 环境变量(数组的配置方式 - key=value)
                    - PARAM=VALUE
                restart: always # 容器的重启策略
                dns: # dns 的配置
                    - "8.8.8.8"
restart 容器的重启策略
  • no:默认策略,在容器退出时不重启容器
  • on-failure:在容器非正常退出时(退出状态非0),才会重启容器
  • on-failure:3:在容器非正常退出时重启容器,最多重启3次
  • always:在容器退出时总是重启容器
  • unless-stopped:在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
常用命令
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        docker-compose up -d # 启动所有服务并在后台运行
        docker-compose ps # 查看服务运行状态
        docker-compose restart # 重启所有服务
        docker-compose restart myApp # 重启 myApp 服务
        docker-compose start # 开启所有服务
        docker-compose start myApp # 开启 myApp 服务
        docker-compose stop # 停止所有服务
        docker-compose stop myApp # 停止 myApp 服务
        docker-compose rm # 删除所有服务
        docker-compose rm myApp # 删除 myApp fuwu
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/11/02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
除了k8s,docker-compose编排容器也是个不错的选择
随着微服务架构的现代兴起,容器化技术已经成为应用开发的重要组成部分。Docker作为最流行的容器化平台之一,使得应用的部署和管理变得更加灵活。
叫我阿柒啊
2024/10/24
3100
除了k8s,docker-compose编排容器也是个不错的选择
Docker 容器编排利器 Docker Compose
Docker Compose 项目是 Docker 官方的开源项目,Compose 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)」,来源于之前的 Fig 项目,使用 Python 语言编写。负责实现对 Docker 容器集群的快速编排。项目地址为:https://github.com/docker/compose/releases
贾维斯Echo
2024/03/26
5940
Docker 容器编排利器 Docker Compose
Docker Compose
Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用。前面我们使用Docker的时候,定义 Dockerfile文件,然后使用 docker build、docker run等命令操作容器。
清风穆云
2021/08/09
9580
Docker-Compose
Docker-Compose 项目是 Docker 官方的开源项目,负责实现对Docker容器集群的快速编排。
乐心湖
2021/02/25
2.1K0
Docker-Compose
Docker-compose
我们之前操作Docker的过程是:DockerFile build run进行手动操作,单个容器,如果假设我们1000个微服务,并行微服务之间还存在依赖关系,这个时候,我们就可以使用Docker Compose来轻易高效的管理容器,定义运行多个容器
小马哥学JAVA
2022/11/17
1.7K0
Docker--compose学习
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.
大忽悠爱学习
2021/11/19
1.3K0
Docker-Compose基础与实战,看这一篇就够了
Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。使用前面介绍的Dockerfile我们很容易定义一个单独的应用容器。然而在日常开发工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。
JAVA日知录
2020/07/27
1.8K0
docker compose的使用
现在有那么的一个需求:一些小伙伴想本地运行一套springcloud的应用。线上的都docker化部署在kubernetes集群中了。应用呢使用了statefulset的方式部署(他想考主机名hostname去在nacos中注册)。然后本地idea开发呢。主机名都是一个。故他觉得跑不了多个应用(有8个应用吧),最后的结果就是每个人电脑上面都启动了不同的应用去搞.......是不是很反人类?windows本机能跑kubernetes但是我也觉得麻烦啊......怎么搞重新捡起来一下docker compose的使用吧,犹记得上次使用docker compose还是2016年测试跑一个gitlab。从此以后基本就跟docker compose无缘了
对你无可奈何
2021/09/16
9390
docker-compose
Docker for Mac 、Docker for Windows 自带 docker-compose 二进制文件,不需要再次安装,这里只介绍Linux 安装 下载地址:https://github.com/docker/compose/releases
羊羽shine
2019/05/29
3K0
Docker-Compose基础与实战,看这一篇就够了i
上篇文章我们讲了Docker的基础与实战,今天我们来聊聊Docker-compose的相关内容。
JAVA日知录
2019/11/28
1.8K0
Docker-Compose的一些常用命令
Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容器实例,Docker-Compose并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡。 Docker-Compose的工程配置文件默认为docker-compose.yml,可通过环境变量COMPOSE_FILE或-f参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。 使用一个Dockerfile模板文件,可以让用户很方便的定义一个单独的应用容器。在工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个Web项目,除了Web服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。 Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。 Docker-Compose项目由Python编写,调用Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持Docker API,就可以在其上利用Compose来进行编排管理。
javascript.shop
2019/09/04
19.1K0
Docker Compose 配置文件 docker-compose.yml 详解
Docker Compose配置文件是Docker Compose的核心,用于定义服务、网络和数据卷。格式为YAML,默认路径为./docker-compose.yml,可以使用.yml或.yaml扩展名,目前Compose配置文件格式的最新版本为V3。Compose配置文件中涉及的配置项也比较多,但大部分配置项的含义跟docker run命令相关选项是类似的。
BUG弄潮儿
2022/04/15
18.5K0
【重识云原生】第六章容器6.1.11节——docker-compose容器编排
        随着开发者对Docker了解的深入,使用其进行分布式部署变得复杂。开发者需要在开发,测试以及生产环境中的可移植应用,这些应用需要在不同的平台提供商之间迁移,比如在不同的云平台或者私有数据中心部署,同时,应用应该是可组合的,一个应用可以分解为多个服务。 Docker公司在2014年12月发布了三款用于解决多容器分布式软件可移植部署的问题。
江中散人_Jun
2022/09/28
2K0
【重识云原生】第六章容器6.1.11节——docker-compose容器编排
Docker入门
docker 在线测试网站: play With Docker,这是一个可以用来在线练习 docker 指令的网站,具备一切 docker 环境,不用为环境而烦恼,网速还特别快
jinghong
2020/05/12
1.4K0
Docker入门
Docker入门-docker compose的使用
Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。其代码目前在https://github.com/docker/compose 上开源。
小码农薛尧
2019/08/21
1.3K0
docker-compose 使用介绍
Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。Docker-Compose项目由Python编写,调用Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持Docker API,就可以在其上利用Compose来进行编排管理。
大江小浪
2020/04/16
1.2K0
8. docker-compose.yml文件
Compose和Docker兼容性: Compose 文件格式有3个版本,分别为1, 2.x 和 3.x 目前主流的为 3.x 其支持 docker 1.13.0 及其以上的版本 常用参数: version # 指定 compose 文件的版本 services # 定义所有的 service 信息, services 下面的第一级别的 key 既是一个 service 的名称 build # 指定包含构建上下文的路径, 或作为
友儿
2022/09/11
1.2K0
Centos7 上手 Docker 容器及 docker-compose
较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
BUG弄潮儿
2022/04/15
9960
Centos7 上手 Docker 容器及 docker-compose
docker--docker compose 编排工具
根据前面所学的知识可知,想要使用Docker部署应用,就要先在应用中编写Dockerfile 文件来构建镜像。同样,在微服务项目中,我们也需要为每一个服务编写Dockerfile文件 来构建镜像。构建完成后,就可以根据每一个镜像使用docker run或者docker service create命令创建并启动容器,这样我们就可以访问容器中的服务了。 微服务架构中:涉及的服务数量巨多。 虽然使用上述方式可以部署微服务项目,但考虑到微服务项目可能有多个子服务组成, 并且每个服务启动过程中都需要配置额外的参数(如-e配置环境变量、--network指定网 络、磁盘挂载等等)。这种情况下,每次更新微服务后,都要手动运行指令来重新启动 容器,这就显得相当麻烦了。针对这种多服务部署的情况,Docker提供了Docker Compose编排工具来对多服务应用进行统一部署。Compose是Docker的服务编排工 具,主要用来构建基于Docker的复杂应用,Compose 通过一个配置文件来管理多个 Docker容器,非常适合组合使用多个容器进行开发的场景。 通过该编排工具,可以使用yml(或yaml)文件来配置应用程序服务,然后只需要一条简 单的服务部署指令就可以从配置中创建并启动所有服务。
eadela
2019/11/26
6860
docker容器的重启策略
此时,如果这个容器由于某种原因第一次启动失败了,那么,该容器将会再重启两次,而不会一直无限重启啦。
入门笔记
2022/11/11
2.7K0
相关推荐
除了k8s,docker-compose编排容器也是个不错的选择
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文