实战:用docker-compose容器化springboot项目

这篇具有很好参考价值的文章主要介绍了实战:用docker-compose容器化springboot项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

前面我们学习和实战了用dockerfile构建镜像,通过镜像可以任意在docker环境容器化部署项目。但是作为WEB领域的开发者,大多都是微服务架构,一个项目会有很多的子项目和中间件,一个个的容器化部署会非常的麻烦。那么,此时我们可以用docker-compose批量构建镜像和容器化,简化我们的运维。

技术积累

docker-compose定义

docker-compose 望文生义就是docker组件,可以构建镜像和管理容器。开发人员可以用它批量构建镜像和启动容器。

docker-compose文件参数

常用参数:
version 指定compose的文件版本,必写
services 定义服务,必写

以下是services参数:

参数 含义
build 配置构建时,Compose 会利用它自动构建镜像,该值可以是一个路径,也可以是一个对象
image 镜像名称或镜像ID。如果本地没有指定镜像,则会去docker hub上拉取
restart: always 容器总是重新启动
container_name 容器名
volumes 挂载共享目录
command 构建时需要执行的命令
ports 对外暴露的端口
environment 添加环境变量
depends_on 依赖其他服务,其他服务容器化后才进行
networks 设置网络,不配置会创建默认网络,所有服务都会加入这个网络

docker-compose命令

参数 含义
docker-compose -h 查看帮助
docker-compose build 构建镜像
docker-compose build -d 后台构建镜像
docker-compose up 创建并运行所有容器
docker-compose up -d 创建并后台运行所有容器
docker-compose -f docker-compose.yml up -d 指定模板
docker-compose down 停止并删除容器、网络、卷、镜像
docker-compose pull 拉取依赖镜像
dokcer-compose config 检查配置
dokcer-compose config -q 检查配置,有问题才有输出
docker-compose restart 重启服务
docker-compose start 启动服务
docker-compose stop 停止服务
docker-compose ps 列出项目中所有的容器
docker-compose logs 查看容器中日志信息
docker-compose up --force-recreate -d 修改compose后强制重新创建容器

实战演示

在实际的生产中容器化部署往往是多个镜像进行容器化,比如kafka集群、rabbitmq集群、zk集群,一般不建议多种不相关的镜像放在一个docker-compose中。对于数据库一般不建议容器化,微服务集群建议容器化。

由于在实际生产环境服务镜像一般都是由dockerfile直接产生,一般不会使用docker-compose进行build。如果需要用docker-compose 构建镜像可以直接使用services下的build参数,并提供dockerfile路径即可。

本文直接使用docker-compose启动管理多个容器
目标镜像:demo_demo、demo_test-demo

1、创建挂载路径

mkdir -p /home/test/demo/logs

2、编写docker-compose.yml

编写docker-compose,对两个镜像进行容器化配置,并指定日志挂载目录和时区。

vim docker-compose.yml
version: '3.3'  #docker-compose版本
services: #服务列表
  demo: #服务名
    container_name: demo #容器名称
    image: demo_demo  #镜像
    ports: #端口映射
      - 8888:9999
    volumes: #目录挂载
      - /home/test/demo/logs:/opt/logs
      - /etc/localtime:/etc/localtime
    restart: always #自动重启
    environment: #环境变量
      TZ: Asia/Shanghai    #时区
  test-demo:
    container_name: test-demo
    image: demo_test-demo
    ports:
      - 7777:9999
    volumes:
      - /home/test/demo/logs:/opt/logs
      - /etc/localtime:/etc/localtime
    restart: always
    environment:
      TZ: Asia/Shanghai

3、启动并管理容器

》》》后台启动容器

docker-compose up -d

》》》查看容器

docker ps | grep demo

实战:用docker-compose容器化springboot项目

》》》查看端口映射

netstat -nplt | grep 8888

实战:用docker-compose容器化springboot项目

netstat -nplt | grep 7777

实战:用docker-compose容器化springboot项目

》》》查看容器日志

docker-compose logs  --tail 300 -f demo

实战:用docker-compose容器化springboot项目

》》》修改docker-compose强制重启容器

docker-compose up --force-recreate -d

实战:用docker-compose容器化springboot项目

写在最后

用docker-compose管理容器化springboot项目较为简单,可以直接批量构建镜像和容器化管理,大大大简化我们的运维。在实际的生产环境中,对于数据库一般不建议容器化,微服务集群建议容器化。文章来源地址https://www.toymoban.com/news/detail-497052.html

到了这里,关于实战:用docker-compose容器化springboot项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微服务项目容器编排docker-compose.yml、Dockerfile文件模板、相关配置文件、shell脚本

    docker环境变量文件 如果定义的环境变量名与宿主机的一样,则优先宿主机上的。 部署脚本deploy.sh 批量复制文件到对应目录copy.sh

    2024年02月11日
    浏览(30)
  • Docker容器:Docker-Compose

    一个Dockerfile模板文件可以定义一个单独的应用容器,如果需要定义多个容器就需要服务编排。服务编排有很多种技术方案,今天是介绍 Docker 官方产品 Docker Compose 。 docker swarm(管理跨节点)。 Dockerfile可以让用户管理一个单独的应用容器;而Compose则允许用户在一个模板(Y

    2024年02月11日
    浏览(31)
  • docker笔记9:Docker-compose容器编排

    目录 1.是什么? 2. 能干嘛? 3.去哪下? 4.安装步骤  ​编辑 5.卸载步骤   6.Compose核心概念  6.1概念 6.2 Compose常用命令   7.Compose编排微服务 7.1改造升级微服务工程docker_boot 7.2不用Compose 7.2.1 单独的mysql容器实例 7.3 swagger测试 7.4上面成功了,有哪些问题? 7.5 使用Compose  7.5.1

    2024年02月09日
    浏览(33)
  • docker-compose 构建 Kafka 容器

    在终端中创建一个名为 kafka 的目录,并进入该目录: 创建一个名为 docker-compose-kafka.yml 的文件并打开它。将以下代码复制到文件中: 这份配置使用了 Docker Compose,定义了两个服务 Zookeeper 和 Kafka。 Zookeeper 服务定义: 使用 wurstmeister/zookeeper 镜像; 将容器的 2181 端口映射到宿

    2024年02月10日
    浏览(55)
  • 【docker-compose】解决容器时区问题

            容器内时间比服务器慢8小时         容器时区默认 UTC 0          docker-compose.yaml 中设置时区

    2024年02月12日
    浏览(28)
  • docker-compose容器编排使用详解+示例

    Docker-Compose是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启

    2023年04月22日
    浏览(31)
  • Docker容器与虚拟化技术:Docker-Compose

    目录 一、理论 1.Docker-Compose 二、实验 1. Docker Compose 安装部署 2.Docker Compose撰写nginx 镜像 3.Docker Compose撰写tomcat 镜像 三、问题 1.Docker Compose 和 Dockerfile 的区别 四、总结 (1)使用场景 使用一个Dockerfile模板文件可以定义一个单独的应用容器,如果需要定义多个容器就需要服务

    2024年02月12日
    浏览(37)
  • docker-compose 如何安排容器启动的顺序

    在使用docker-compose进行容器部署的时候,时常是需要对容器的启动顺序进行编排,比如在应用容器启动前,需要先启动数据库的容器。通过对官方文档的阅读,发现在docker-compose中,可以使用depends_on配合健康检查healthcheck来实现。 参考链接: https://docs.docker.com/compose/compose-fi

    2024年02月12日
    浏览(35)
  • 【云原生】Docker-compose单机容器集群编排

    Compose是单机编排容器集群或者是分布式服务容器的应用工具。通过Compose,可以使用YAML文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。 Docker-Compose是一个容器编排工具。通过一个.yml或.yaml文件,将所有的容器的部署方法、文件映射、

    2024年02月09日
    浏览(43)
  • 【RabbitMQ】【Docker】基于docker-compose构建rabbitmq容器

    本文通过docker-compose构建一个单体的rabbtimq容器。 首先需要有docker和docker-compose环境,docker安装[1],docker-compose安装[2]。 通过下列命令确定docker、docker-compose是否安装成功。 docker-compose在/usr/local/bin里,我们就在/usr/local下构建一个docker-compose目录,里面再构建各级不同容器的目

    2024年04月25日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包