Java 杂谈Docker容器SpringBoot极简教程 · Spring Boot

spring cloud-之使用docker部署服务

2018-08-21  本文已影响0人  fkxuexi

上一篇我们讲到了,由于要把原来的项目拆分成多个项目,同时跑起来机器肯定好吭哧吭哧的,所以我们采用docker的方式进行部署到另外的一台机器上面,而且现在正式的部署大多数也是采用docker的方式进行部署的。使用docker可以快速的进行部署,而且达到资源利用的最大化。下面就来介绍一下使用docker来部署服务节点eureka

一、先决条件,安装docker:

1、因为系统自带的repo中不带docker需要安装epel
rpm -Uvh http://ftp.riken.jp/Linux/fedora/epel/6Server/x86_64/epel-release-6-8.noarch.rpm
2、安装docker
yum install -y docker-io
3、启动docker
service docker start

ps:网上前几篇教程,千篇一律的都是需要升级kernel,依据我的实践centos6.8可以不用升级kernel,按照上述步骤即可安装成功。但愿多一些实践教程,少一些抄袭和价值极地的使用google翻译的文档!!!

二、针对本篇需要了解的命令

docker一个系列的教程也是相当繁杂的,如果有时间后面可能会写也可能不会,毕竟我是做开发的,平时能用它来简化部署和一系列的安装就可以了,这毕竟是运维的领域术业有专攻,所以这里介绍的东西仅仅为本篇所介绍的东西服务。

docker run -d -p 2001:2001 fb528f5e7835

三、先决知识 Dockerfile的了解

由于是基于Dcokerfile进行的,所以需要对Dcokerfile有一些了解,docker可以依据Dockerfile进行构建镜像,基本上eureka是不会变动的,所以我们在后面可以反复的利用这个镜像,甚至于构建集群的时候我们可以修改一下配置,直接启动多个镜像就可以了。

# 由于现在下载jdk的话需要使用认证,所以我们在生产环境可以使用这个,上线的时候我们可以自己来制作一个镜像就好了,-alpine  这个是一个极小的linux系统(这样可以减小docker镜像的体积),后面不建议使用这个,因为这个dns好像实现的不一样,在服务发现中可能会有问题,所以最好还是使用centos的镜像为基础来构建
FROM openjdk:8-jdk-alpine 
VOLUME /tmp
ADD eureka.jar eureka.jar (前面一个是打包的jar的名字,后面一个是在容器中使用的名字,这个要和最后的-jar 后面的jar包的名字一致)
RUN sh -c 'touch /eureka.jar'
ENV JAVA_OPTS=""
#Djava.security.egd  这个是用来防止springboot项目tomcat启动慢的问题(具体可搜索:随机数数与熵池策略)
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /eureka.jar" ]

四、开始构建:

docker run -d -p 2001:2001
image.png

出现一个长的字符串就说明我们已经运行成功了

通过这个方法,我们可以少量的改动Dockerfile的内容,然后就可以通过docker来部署项目,其实后面会介绍可以使用docker compose技术进行批量的构建管理。

上一篇下一篇

猜你喜欢

热点阅读