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

为什么使用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。

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

制作镜像 - jar文件:

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

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

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

dockerfile:

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

第一行:表明该镜像源于 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。

执行以下命令完成制作:

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

制作镜像 - war文件:

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

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

运行制作好的镜像

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

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

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

Docker-compose启动一组镜像

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

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

docker-compose.yml文件内容:

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

启动:

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

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

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

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

相关推荐