上一篇咱们讲到了,因为要把原来的项目拆分红多个项目,同时跑起来机器确定好吭哧吭哧的,因此咱们采用docker的方式进行部署到另外的一台机器上面,并且如今正式的部署大多数也是采用docker的方式进行部署的。使用docker能够快速的进行部署,并且达到资源利用的最大化。下面就来介绍一下使用docker来部署服务节点eurekahtml
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翻译的文档!!!java
docker一个系列的教程也是至关繁杂的,若是有时间后面可能会写也可能不会,毕竟我是作开发的,平时能用它来简化部署和一系列的安装就能够了,这毕竟是运维的领域术业有专攻,因此这里介绍的东西仅仅为本篇所介绍的东西服务。
- docker build -t 镜像名字 . 注意不要少了后面的一个 “.”,这个是表明当前的目录的
- docker run -d -p 主机端口1:容器端口1 -p 主机端口2:容器端口2(能够有多个) -v /data(主机目录):/data(容器目录) 镜像idlinux
docker run -d -p 2001:2001 fb528f5e7835
因为是基于Dcokerfile进行的,因此须要对Dcokerfile有一些了解,docker能够依据Dockerfile进行构建镜像,基本上eureka是不会变更的,因此咱们在后面能够反复的利用这个镜像,甚至于构建集群的时候咱们能够修改一下配置,直接启动多个镜像就能够了。web
# 因为如今下载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
出现一个长的字符串就说明咱们已经运行成功了
- 检验一下 http://192.168.0.200:2001
- 查看咱们运行的镜像 docker ps -a
- 中止|启动|重启容器:docker stop|start|restart 9a3cc4915c9bspring
经过这个方法,咱们能够少许的改动Dockerfile的内容,而后就能够经过docker来部署项目,其实后面会介绍可使用docker compose技术进行批量的构建管理。docker