千家信息网

如何使用Docker-Compose一键部署java微服务

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章将为大家详细讲解有关如何使用Docker-Compose一键部署java微服务,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Docker Co
千家信息网最后更新 2025年11月08日如何使用Docker-Compose一键部署java微服务

这篇文章将为大家详细讲解有关如何使用Docker-Compose一键部署java微服务,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Docker Compose 来轻松高效的管理容器,定义运行多个容器

官方介绍

定义、运行多个容器。 YAML file 配置文件。 single command。 命令有哪些? 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. To learn more about all the features of Compose, see the list of features. 所有的环境都可以使用 Compose。 Compose works in all environments: production, staging, development, testing, as well as CI workflows. You can learn more about each case in Common Use Cases. 三步骤: Using Compose is basically a three-step process:

  1. Define your app's environment with a Dockerfile so it can be reproduced anywhere.

  • Dockerfile 保证我们的项目在任何地方可以运行。

  1. Define the services that make up your app in docker-compose.yml so they can be run together in an isolated environment.

  • services 什么是服务。

  • docker-compose.yml 这个文件怎么写!

  1. Run docker-compose up and Compose starts and runs your entire app.

  • 启动项目

作用:批量容器编排。

理解

Compose 是Docker官方的开源项目。需要安装! Dockerfile 让程序在任何地方运行。 web服务。 redis、mysql、nginx ... 多个容器。 run Compose

version: "3.9"  # optional since v1.27.0services:  web:    build: .    ports:      - "5000:5000"    volumes:      - .:/code      - logvolume01:/var/log    links:      - redis  redis:    image: redisvolumes:  logvolume01: {}

docker-compose up 100 个服务。 Compose :重要的概念。 服务services, 容器。应用。(web、redis、mysql....) 项目project。 一组关联的容器。 博客。web、mysql。

下载并安装Docker-Compose

下载Docker-Compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 这个可能快点!curl -L https://get.daocloud.io/docker/compose/releases/download/1.28.6/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

设置权限

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

测试,在任意目录下输入docker-compose

官方体验

python 应用。计数器。 redis!

官网地址:https://docs.docker.com/compose/gettingstarted/

前提需要安装最新版的docker-compose,否则会报版本不兼容

1、应用 app.py 2、Dockerfile 应用打包为镜像 3、Docker-compose yaml文件 (定义整个服务,需要的环境。 web、redis) 完整的上线服务! 4、启动 compose 项目(docker-compose up)

流程

1、创建网络 2、执行 Docker-compose yaml 3、启动服务。

官网流程

  • 创建文件夹

     mkdir composetest cd composetest


  • 创建app.py

    import timeimport redisfrom flask import Flaskapp = Flask(__name__)cache = redis.Redis(host='redis', port=6379)def get_hit_count():    retries = 5    while True:        try:            return cache.incr('hits')        except redis.exceptions.ConnectionError as exc:            if retries == 0:                raise exc            retries -= 1            time.sleep(0.5)@app.route('/')def hello():    count = get_hit_count()    return 'Hello World! I have been seen {} times.\n'.format(count)


  • 创建 requirements.txt

    flaskredis


  • 创建 Dockerfile

    FROM python:3.7-alpineWORKDIR /codeENV FLASK_APP=app.pyENV FLASK_RUN_HOST=0.0.0.0RUN apk add --no-cache gcc musl-dev linux-headersCOPY requirements.txt requirements.txtRUN pip install -r requirements.txtEXPOSE 5000COPY . .CMD ["flask", "run"]


  • 创建 docker-compose.yml

    version: "3.9"services:  web:    build: .    ports:      - "5000:5000"  redis:    image: "redis:alpine"


  • 运行 docker-compose up

    成功截图:

Java微服务项目实战计数器使用DockerCompose部署
  • 新建项目,完成计数功能

    package com.atxiaodei.hellodockercompose.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * @ClassName HelloController * @Deacription TODO * @Author 王盟 * @Date 2021/4/6 18:58 * @Version 1.0 **/@RestControllerpublic class HelloController {    @Autowired    StringRedisTemplate redisTemplate;    @RequestMapping("/hello")    public String helloCount(){        Long view = redisTemplate.opsForValue().increment("view");        return  "使用dockercompose部署java微服务计数器功能,view"+view;    }}


  • 编写Dockerfile

    FROM java:8COPY *.jar /app.jarCMD ["--server.port=8080"]EXPOSE 8080ENTRYPOINT ["java","-jar","/app.jar"]


  • 编写docker-compose.yml

    version: '3.9'services:  wangmengapp:    build: .    image: wangmengapp    depends_on:      - redis    ports:    - "8080:8080"  redis:    image: "redis:alpine"


  • 上传文件到服务器

  • 执行 docker-compose up

    成功截图

总结:

  • 未来项目只要有 docker-compose 文件。 按照这个规则,启动编排容器。!

  • 公司: docker-compose。 直接启动。

  • 网上开源项目: docker-compose 一键搞定。

  • 假设项目要重新部署打包 docker-compose up --build # 重新构建!

关于如何使用Docker-Compose一键部署java微服务就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

服务 项目 容器 文件 运行 应用 一键 多个 官方 计数器 成功 内容 功能 地方 截图 文章 更多 流程 环境 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南通市永东软件开发有限公司 spyder读取不了数据库 两会 网络安全立法 幻塔悯雨岛服务器是哪个渠道服 合肥通信软件开发定制公司 驻村网络安全宣传总结 河北设计少儿编程平台软件开发 易保网络技术有限公司企眼查 网络安全责任规章制度 通用云南虚拟主机服务器 脑瘫病人自学网络技术 accp软件开发 如何筑牢网络安全防火墙 sql数据库英文版导入和导出 我的网络安全职业理想 三星打印机管理服务器 世界互联网服务器 现阶段流行的软件开发工具 搭建免费服务器 重庆生产管理软件开发 下一代通信网络技术原理 我的世界国际服服务器免费吗 腾网络安全中心最新风险网站 嘉定区创新数据库服务报价行情 河北省软件开发人工费用标准 数据库营销分为哪两种 数据库设计蓝湖案例 lol游戏连接服务器异常 c 新项目类型操作数据库 无线传感器网络技术试题及答案
0