docker虚拟化技术-windows使用docker-compose启动微服务

本文介绍Docker的基础概念及优势,并详细讲解如何使用Dockerfile构建jar和war文件的镜像,最后通过docker-compose实现微服务的一键启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么使用docker?

Docker是一个虚拟化的容器,将app交由给指定docker容器可以达到:

  • 1.启动app的物理服务器只需要安装docker-engine就可以部署服务。
  • 2.如果app是集群可以做到app依赖的os,java_version全部一致。
  • 3.Docker容器可以到处赋值运行,能很快模拟现实环境。

基础概念

首先,需要安装docker:https://docs.docker.com/
然后,通过docker version 命令确保安装成功。切记windows用户在powershell中执行docker命令,不能通过cmd执行。
我们要知道docker和maven一样拥有自己的仓库,只不过docker的仓库存储的是官方镜像,maven存储的是jar。
每个镜像都拥有自己的特性,比如有的镜像安装了tomcat,有的镜像安装了java。但是只有镜像还不够,我们需要在镜像中加入自己的app,app的形态可以是jar,也可以是war。

图片描述

制作镜像 - jar文件:

镜像制作需要用的docker build 命令:

1.创建一个文件夹:Dockerfile文件是用于制作镜像使用的文件,seckill.jar是需要拷贝到镜像中的app。

图片描述

dockerfile:

图片描述

第一行:表明该镜像源于 hub.c.163.com/library/java:openjdk-8-jre-alpine ,而这个基础镜像包含java的运行环境。也就是为我的app提供java环境。

第二行:将当前目录下的seckill-0.0.1-SNAPSHOT.jar复制到镜像中/opt/webapps/seckill/seckill.jar。

第三行:在镜像开始运行时执行的命令,这个命令是启动app。

执行以下命令完成制作:

图片描述

制作镜像 - war文件:

与jar类似,只需要修改dockerfile即可:

图片描述

运行制作好的镜像

图片描述

图片描述

图片描述

Docker-compose启动一组镜像

我们拥有的是一组微服务,每次单个启动镜像很麻烦,所以就需要用到docker-compose。

  • 首先,我们要拥有已经制作完成的镜像
  • 然后,编写docker-compose.yml文件(注意yml的格式),这个文件里包含了会启动那些镜像
  • 然后进入到docker-compose.yml文件所在的文件夹,执行docker-compose up 命令

docker-compose.yml文件内容:

图片描述

启动:

图片描述

图片描述

图片描述

记住,要执行docker-compose相关的命令需要进入docker-compose.yml文件所在的文件夹。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值