如何使用docker部署springcloud???

springcloud 必须基于 springboot 项目来开发, 这里讲解springboot项目的部署, springcloud项目也是同理.
使用Dockerfile形式可部署.
示例: FROM frolvlad/alpine-oraclejdk8
VOLUME /usr/test
ADD test.jar app.jar
EXPOSE
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] FROM:
Docker是基于镜像的部署,幸运的是Docker官方和开发者们为我们维护了许多高质量的Docker镜像,而基于这些
镜像我们能做出符合自己需求的镜像.此处的FROM意思是我们即将要创建的镜像的基础镜像的名字,这个名字可以是
我们本地已有的镜像, 也可以是Docker Hub上的镜像,如果是Docker Hub上的镜像,此时docker daemon会为我们自动
下载该镜像. 还有一个要注意的点, 如果是本地镜像要加上版本(镜像名:版本号),否则默认版本号为latest. VOLUME:
Docker的运行相当于是操作系统的一个进程,但是该进程又与普通进程有些许不同,因为该进程内部维护着的是我们的一个微服务的完整结构,
而往往项目中需要运行的微服务都有记录日志或者其他写出文件的功能,设想一下这样的情况:
我们的微服务现在正在运行,但是访问量突然增大, 开发人员又没有关注到这一点, 没有进行水平扩展,这时候很有可能这个微服务就down了,
而这个微服务一旦down了之后,出现的情况就是整个容器的status就变成了Exited,而此时如果将容器删除,容器中的所有数据卷会跟随容器
一起删除,因为这些数据卷是临时的, 此处的映射路径为 /usr/test .这是我们自定义的映射路径,后续要演示记录日志的功能.
当然也可以指定/tmp其效果都是在主机的/var/lib/docker/volumes目录下创建一个临时文件,并链接到容器的链接路径.
而为什么链接到容器的/tmp目录呢?因为SpringBoot使用的内嵌Tomcat容器默认使用/tmp作为工作目录.
当然此处的/tmp也可以变成你的日志记录文件夹,这样就可以在本地实时查看日志记录了. ADD:
将我们自身的项目admin.jar 作为 app.jar 加入到容器中. EXPORT:
该命令用于声明在运行时容器提供服务的端口. 注意:这只是一个声明,运行时并不会因为该声明就打开相应的端口.
该指令的作用是帮助镜像使用者理解该镜像服务的守护端口;其次是当运行时使用随机映射时(即run命令的-P参数),
会自动映射EXPORT的端口. ENTRYPOINT:
该命令制定Docker容器启动时执行的命令,可多次设置,但只有最后一条会生效. ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]这条命令中可能部分读者会对
-Djava.security.egd=file:/dev/./urandom 这条命令有疑惑,这是因为linux中和windows中取随机数时的参考策略不同,
linux默认的随机数会被取完,导致返回-,而制定/dev/./urandom这个取随机数的策略时,当随机数取完之后会返回随机数,
不至于影响业务. https://blog.csdn.net/qq_30770095/article/details/79648665

如何使用docker部署springcloud???的更多相关文章

  1. docker初体验:Docker部署SpringCloud项目eureka-server

    Docker部署SpringCloud项目eureka-server 1 创建eureka-server工程 创建父工程cloud-demo,其pom.xml如下: <?xml version= ...

  2. docker 部署springcloud Feign组件无法访问问题

    如题: docker部署后的服务注册ID是这样的. 这导致了Feign在调用其他组件的时候访问不到. 解决: 在docker部署指令添加EUREKA_INSTANCE_IP-ADDRESS=[你的IP ...

  3. docker 部署springcloud项目

    一.首先从 docker.hub[地址:https://hub.docker.com] 中根据各自的需求 pull 对应的 openjdk镜像(本次直接在修改后的docker镜像源中下载) docke ...

  4. Docker网络配置、Docker部署分布式项目

    目标 1.Docker网络配置 2.Docker部署SpringCloud项目 Docker网络配置 Docker网络模式介绍 Docker在创建容器时有四种网络模式:bridge/host/cont ...

  5. SpringCloud微服务Docker部署

    前两写了两篇,都是为SpringCloud+Docker部署做准备,在部署的时候,不同服务器,不同的Docker容器之间的通信,还好没有掉到坑里去,在公司里用了新技术,还是很开心的,小有成就感,之前一 ...

  6. 十一、Docker搭建部署SpringCloud微服务项目Demo

    环境介绍 技术选型:SpringCloud&SpringCloud Alibaba&Docker 微服务模块划分: 员工模块:ems-employees 部门模块:ems-depart ...

  7. Kubernetes(K8s)部署 SpringCloud 服务实战

    1. 概述 老话说的好:有可能性就不要放弃,要敢于尝试. 言归正传,之前我们聊了一下如何在 Kubernetes(K8s)中部署容器,今天我们来聊一下如何将 SpringCloud 的服务部署到 Ku ...

  8. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  9. Docker部署Hadoop集群

    Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...

随机推荐

  1. 用Java编程能给物联网(IoT)带来什么优势与不同?

    用Java编程能给物联网(IoT)带来什么优势与不同? 这是一个不太容易回答的问题,也是一个适合拿出来与大家讨论的一个话题~首先需要聊聊物联网硬件与嵌入式设备有什么不同.嵌入式设备通常是一个软件一体的 ...

  2. CentOS7 安装nginx-1.14.0

    nginx源码包:http://nginx.org/en/download.html 1.安装gcc gcc是用来编译下载下来的nginx源码 yum install gcc-c++ 2.安装pcre ...

  3. 基于word2vec的文档向量模型的应用

    基于word2vec的文档向量模型的应用 word2vec的原理以及训练过程具体细节就不介绍了,推荐两篇文档:<word2vec parameter learning explained> ...

  4. springboot+RabbitMQ 问题 RabbitListener 动态队列名称:Attribute value must be constant

    因为多机环境fanout广播模式,每台机器需要使用自己的队列接受消息 所以尝试使用以下的方案 private static final String QUEUE_NAME="foo.&quo ...

  5. Linux ip Command

    Syntax ip OBJECT COMMAND ip [options] OBJECT COMMAND ip OBJECT help Understanding ip command OBJECTS ...

  6. Python程序调试工具Py-Spy

    序言 如果你是从Java语言开发转Python开发,可能在庆幸自己的开发效率提高了很多,但是也有痛苦的时候,比如你会怀念jstack,jmap, 等各种工具在生产环境做perfomance tunin ...

  7. 使用kibana给不同的用户创建不同的space

    Elastic安全机制 在很多的情况下,出于安全的原因,我们需要对不同的Kibana用户分配不同的用户权限,这样使得他们之间不能互相访问彼此的资源,同 时他们也应该对不同的索引拥有不同的权限,比如读, ...

  8. 【linux】查看linux系统自带的服务启动文件

    =============================================================== 1.查看所有启动文件 systemctl list-unit-files ...

  9. .NET获取实例化对象的部分属性名称

    前言 项目中实例化的对象,对象中里面很有很多属性,有些是我们不需要的,有些是我们需要的,例如在下面的示例中:ID,CreateBy等属性在CB_Projects对象中是不需要的,在获取实例化对象属性名 ...

  10. Sql 分页语句

    select * from (select *,ROW_NUMBER()over(order by [ID]) as rowindex from product ) tb  where rowinde ...