资讯专栏INFORMATION COLUMN

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

BlackMass / 2229人阅读

摘要:为什么使用是一个虚拟化的容器,将交由给指定容器可以达到启动的物理服务器只需要安装就可以部署服务。切记用户在中执行命令,不能通过执行。第三行在镜像开始运行时执行的命令,这个命令是启动。

为什么使用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文件所在的文件夹。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27288.html

相关文章

  • Docker|基础篇

    摘要:简介在容器的基础上,进行了进一步的封装,从文件系统网络互联到进程隔离等等,极大的简化了容器的创建和维护。一种服务器,它是一种称为守护进程并且长时间运行的程序。容器就是通过命令对项目中的一组容器的生命周期进行便捷的管理。 简介 Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、...

    OBKoro1 评论0 收藏0
  • 各平台安装和使用Docker的差异

    摘要:在上运行使用系统要求开启虚拟化的硬件支持可以通过命令来检查或者更高版本至少内存安装最新点击下载安装下载的文件安装完成后,启动使用镜像加速地址使用自带的使用的系统要求运行或者以上版本支持硬件虚拟化技术并且已启用虚拟化安装点击下载运行在上运行使 在Mac上运行Docker 使用Docker for Mac 系统要求 开启虚拟化的硬件支持,可以通过命令来检查:sysctl kern.hv_...

    Thanatos 评论0 收藏0
  • 被忽略的后台开发神器 — Docker

    摘要:后来真正用的时候才发觉,这个简直是个神器。容器可以被创建启动停止删除暂停等。项目由编写,实现上调用了服务提供的来对容器进行管理。此命令将会停止命令所启动的容器,并移除网络启动已经存在的服务容器。停止已经处于运行状态的容器,但不删除它。 showImg(https://segmentfault.com/img/remote/1460000017531120?w=1200&h=500); ...

    warnerwu 评论0 收藏0
  • 被忽略的后台开发神器 — Docker

    摘要:后来真正用的时候才发觉,这个简直是个神器。容器可以被创建启动停止删除暂停等。项目由编写,实现上调用了服务提供的来对容器进行管理。此命令将会停止命令所启动的容器,并移除网络启动已经存在的服务容器。停止已经处于运行状态的容器,但不删除它。 showImg(https://segmentfault.com/img/remote/1460000017531120?w=1200&h=500); ...

    CollinPeng 评论0 收藏0
  • [进阶篇]docker编排PHP开发坏境

    摘要:开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括虚拟机集群和其他的基础应用平台。容器进入容器名暴露端口暴露端口使用调试环境中安装了调试,需对进行配置后启用,配置如下配置完成后需要重启下容器。 showImg(https://segmentfault.com/img/bVbgmdS?w=567&h=272); Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻...

    PingCAP 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<