iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何使用Docker Compose快速部署多容器服务
  • 287
分享到

如何使用Docker Compose快速部署多容器服务

2023-06-29 05:06:13 287人浏览 独家记忆
摘要

小编给大家分享一下如何使用Docker Compose快速部署多容器服务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1 什么是Docker Compose前面我们使用 Docker 的时候,定义 Dockerf

小编给大家分享一下如何使用Docker Compose快速部署多容器服务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

    1 什么是Docker Compose

    前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。

    使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具

    2 安装Docker Compose

    安装命令:

    [root@iZ2ze4m2ri7irkf6h7n8zoZ ~]# curl -L https://GitHub.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose[root@iZ2ze4m2ri7irkf6h7n8zoZ ~]# chmod +x /usr/local/bin/docker-compose

    检查是否安装成功:

    [root@iZ2ze4m2ri7irkf6h7n8zoZ ~]# docker-compose -v

    3 Docker Compose文件格式的简单介绍

    Docker Compose文件一般命名为docker-compose.yml,并且执行Docker-compose命令时在该文件所在目录下执行。

    Docker Compose 分为三层,分别是工程(project)、服务(service)/引用标签、容器(container)

    例如:

    docker-compose.yml   # 一个文件代表一个project serveices:          # 服务   container-name:   # 容器     build:       - xxx:xxx network:            # 引用标签   xxx:

    下面是一个标准的docker-compose.yml文件

    version: "3"  # 指定版本services:     # services  proxy:      # 自定义容器名称    build: ./proxy  # Dockerfile所在目录,用于构建容器    networks: # 自定义容器网络      - frontend  app:           build: ./app    networks:      - frontend      - backend  db:    image: postgres    networks:      - backendnetworks:  frontend:    driver: custom-driver-1  backend:    driver: custom-driver-2    driver_opts:      foo: "1"      bar: "2"

    4 Docker Compose常用命令

    ps:列出所有运行容器

    docker-compose ps

    logs:查看服务日志输出

    docker-compose logs

    port:打印绑定的公共端口,下面命令可以输出 eureka 服务 8761 端口所绑定的公共端口

    docker-compose port eureka 8761

    build:构建或者重新构建服务

    docker-compose build

    start:启动指定服务已存在的容器

    docker-compose start eureka

    stop:停止已运行的服务的容器

    docker-compose stop eureka

    rm:删除指定服务的容器

    docker-compose rm eureka

    up:构建、启动容器

    docker-compose up

    kill:通过发送 SIGKILL 信号来停止指定服务的容器

    docker-compose kill eureka

    pull:下载服务镜像

    docker-compose pull eureka

    scale:设置指定服务运气容器的个数,以 service=num 形式指定

    docker-compose scale user=3 movie=3

    run:在一个服务上执行一个命令

    docker-compose run WEB bash

    5 使用Docker Compose一键部署Spring Boot+Redis实战

    5.1 构建应用

    5.1.1 spring Boot项目

    依赖:

    <dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId></dependency><!--Redis--><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-data-redis</artifactId></dependency>

    配置文件:

    spring:  redis:    #host: 127.0.0.1    host: ymx.redis    port: 6379    passWord:    jedis:      pool:        max-active: 8        max-wait: -1        max-idle: 500        min-idle: 0    lettuce:      shutdown-timeout: 0

    controller代码:

    @RestControllerpublic class HelloController {    @Autowired    private RedisTemplate<String, String> redisTemplate;    @RequestMapping("/hello/{id}")    public String hello(@PathVariable("id") Integer id) {        return redisTemplate.opsForValue().get(String.valueOf(id));    }    @RequestMapping("/save/{id}/{name}")    public String save(@PathVariable("id") Integer id, @PathVariable("name") String name) {        try {            redisTemplate.opsForValue().set(String.valueOf(id), "Hello " + name + "!");        } catch (Exception e) {            return "false";        }        return "success";}
    5.1.2 Redis配置文件

    只是将redis自带的redis.conf做了一点修改

    #注释掉bind 127.0.0.1# bind 127.0.0.1 -::1#修改protected-mode yes->noprotected-mode no

    5.2 打包应用并构建目录

    5.2.1 打包Spring Boot项目

    如何使用Docker Compose快速部署多容器服务

    5.2.2 上传redis.conf配置文件
    5.2.3 目录结构
    - mycompose  - docker-compose.yml   - rd      - Dockerfile      - redis.conf  - sp    - Dockerfile      - sp_redis-0.0.1-SNAPSHOT.jar

    5.3 编写Dockerfile

    5.3.1 Spring Boot容器的Dockerfile
    FROM java:8MAINTAINER YMX "1712229564@qq.com"COPY sp_redis-0.0.1-SNAPSHOT.jar /root/sp_redis-0.0.1-SNAPSHOT.jarEXPOSE 8080ENTRYPOINT ["java", "-jar","/root/sp_redis-0.0.1-SNAPSHOT.jar"]
    5.3.2 redis容器的Dockerfile
    FROM redis  MAINTAINER ymx 1712229564@qq.comCOPY redis.conf /usr/local/etc/redis/redis.confEXPOSE 6379CMD ["redis-server","/usr/local/etc/redis/redis.conf" ]

    5.4 编写docker-compose.yml

    version: "2.8" # 表示该 Docker-Compose 文件使用的是 Version 2 fileservices:  sp-demo:       # 指定服务名称    build: ./sp  # 指定 Dockerfile 所在路径    ports:       # 指定端口映射      - "9001:8080"    links:      - re-demo:ymx.redis # 进行容器链接  re-demo:    build: ./rd

    5.5 运行并测试部署结果

    运行:

    [root@iZ2ze4m2ri7i mycompose]# docker-compose upCreating network "mycompose_default" with the default driverBuilding re-demoSending build context to Docker daemon  96.77kBStep 1/5 : FROM redislatest: Pulling from library/redis......

    测试:

    [root@iZ2ze4m2ri7i mycompose]# curl Http://localhost:9001/save/2/Ymxsuccess[root@iZ2ze4m2ri7i mycompose]# curl http://localhost:9001/hello/2Hello Ymx!

    看完了这篇文章,相信你对“如何使用Docker Compose快速部署多容器服务”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

    --结束END--

    本文标题: 如何使用Docker Compose快速部署多容器服务

    本文链接: https://www.lsjlt.com/news/322804.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 如何使用Docker Compose快速部署多容器服务
      小编给大家分享一下如何使用Docker Compose快速部署多容器服务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1 什么是Docker Compose前面我们使用 Docker 的时候,定义 Dockerf...
      99+
      2023-06-29
    • 快速使用docker-compose部署clickhouse的教程
      ClickHouse 是一个开源的面向列的 DBMS(由 Yandex 开发)。ClickHouse 的工作速度比传统方法快 100-1000 倍。它适用于大数据、业务分析和时间序列...
      99+
      2024-04-02
    • 使用Docker Compose快速部署PHP应用程序
      引言:Docker是一种开源的容器化平台,可以将应用程序及其依赖项打包成一个独立的容器,隔离运行。而Docker Compose则是一个用于定义和运行多容器Docker应用程序的工具。本文将介绍如何使用Docker Compose快速部署P...
      99+
      2023-10-21
      PHP 部署 Docker Compose
    • 使用Docker Compose部快速署ELK(亲测有效)
      目录1.概述1.1定义1.2功能说明2.部署ELK2.1创建目录和文件2.2配置docker-compose并启动2.3打开kibana3.收集日志3.1环境准备3.2使用logba...
      99+
      2024-04-02
    • 使用docker、docker-compose部署微服务
      使用docker、docker-compose部署微服务 一、使用docker部署1、准备2、上传jar包3、编写dockerfile文件3、构建镜像和容器 二、使用docker-compose部署1、准备服务的jar包和doc...
      99+
      2023-08-30
      docker 微服务 容器
    • 如何使用docker-compose部署clickhouse
      这篇文章主要介绍如何使用docker-compose部署clickhouse,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!ClickHouse 是一个开源的面向列的 DBMS(由 Yandex 开发)。ClickHo...
      99+
      2023-06-25
    • 容器服务使用TKE快速部署ChatGLM
      1. 登录云容器服务TKE控制台。2. 在TKE控制台左侧导航栏中选择“集群”,然后点击“新建集群”按钮。3. 在“创建集群”页面中...
      99+
      2023-09-21
      ChatGLM
    • Docker中如何使用Compose部署ELK
      这篇文章给大家介绍Docker中如何使用Compose部署ELK,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.1定义对于大规模的日志,需要集中化的管理。而ELK提供了一整套解决方案,并且都是开源软件,之间互相配合使...
      99+
      2023-06-20
    • docker如何快速部署zabbix
      今天小编给大家分享一下docker如何快速部署zabbix的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。容器技术极大的简化了...
      99+
      2023-07-04
    • 如何使用Docker Compose搭建部署ElasticSearch
      本篇内容主要讲解“如何使用Docker Compose搭建部署ElasticSearch”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Docker Compose搭建...
      99+
      2023-06-29
    • 怎么使用docker-compose来部署服务
      今天就跟大家聊聊有关怎么使用docker-compose来部署服务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。使用docker-compose 大杀器来部署服务 先从 d...
      99+
      2023-06-19
    • Docker如何部署多容器通信
      这篇文章主要介绍了Docker如何部署多容器通信的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker如何部署多容器通信文章都会有所收获,下面我们一起来看看吧。原因是这样的...
      99+
      2024-04-02
    • Docker如何简化多容器应用部署
      Docker可以简化多容器应用部署的过程,主要有以下几点优势: 易于管理:Docker可以将应用及其依赖项打包成一个镜像,使得部...
      99+
      2024-04-02
    • Redis快速部署为Docker容器的实现方法
      目录入门数据存储配置您的服务器管理Redis安全使用您的 Redis 安装概括Redis是一种内存键值存储,可以保存高性能的抽象数据结构。开源软件通常用于数据库、消息传递和缓存功能。...
      99+
      2024-04-02
    • 使用Docker Compose、Nginx和MariaDB实现PHP应用程序的快速部署流程
      摘要:本文将介绍如何使用Docker Compose、Nginx和MariaDB实现快速部署PHP应用程序的流程。我们将使用Docker Compose来定义和管理容器化应用程序的配置,Nginx作为Web服务器,MariaDB作为数据库。...
      99+
      2023-10-21
      nginx mariadb Docker Compose
    • 怎么使用Docker快速部署ELK环境
      这篇文章主要介绍“怎么使用Docker快速部署ELK环境”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Docker快速部署ELK环境”文章能帮助大家解决问题...
      99+
      2024-04-02
    • idea如何整合docker快速部署springboot应用
      小编给大家分享一下idea如何整合docker快速部署springboot应用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言容器化一词相信大家已经不陌生了...
      99+
      2023-06-25
    • Docker容器如何部署consul
      小编给大家分享一下Docker容器如何部署consul,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Consul简介Consul 是一个支持多数据中心分布式高可用...
      99+
      2023-06-29
    • docker maven plugin怎么快速部署微服务
      本篇内容主要讲解“docker maven plugin怎么快速部署微服务”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker maven plug...
      99+
      2023-06-30
    • DockerCompose快速部署多容器服务实战的实例详解
      目录1 什么是Docker Compose2 安装Docker Compose3 Docker Compose文件格式的简单介绍4 Docker Compose常用命令5 使用Doc...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作