spring cloud-之使用docker部署服务

上一篇咱们讲到了,因为要把原来的项目拆分红多个项目,同时跑起来机器确定好吭哧吭哧的,因此咱们采用docker的方式进行部署到另外的一台机器上面,并且如今正式的部署大多数也是采用docker的方式进行部署的。使用docker能够快速的进行部署,并且达到资源利用的最大化。下面就来介绍一下使用docker来部署服务节点eurekahtml

1、先决条件,安装docker:

  • 环境:centos6.8 x64
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

2、针对本篇须要了解的命令

docker一个系列的教程也是至关繁杂的,若是有时间后面可能会写也可能不会,毕竟我是作开发的,平时能用它来简化部署和一系列的安装就能够了,这毕竟是运维的领域术业有专攻,因此这里介绍的东西仅仅为本篇所介绍的东西服务。
- docker build -t 镜像名字 . 注意不要少了后面的一个 “.”,这个是表明当前的目录的
- docker run -d -p 主机端口1:容器端口1 -p 主机端口2:容器端口2(能够有多个) -v /data(主机目录):/data(容器目录) 镜像idlinux

docker run -d -p 2001:2001 fb528f5e7835
  • docker images 查看docker 有哪些已经构建好的镜像,咱们找到镜像的id,能够直接利用上面的命令进行运行
  • docker ps 查看正在运行的容器
  • docker ps -a 查看全部的容器
  • docker start|stop|restart 容器id
  • docker pull 镜像名称,从docker的仓库中拉去已经创建好的镜像
    差很少上面的命令就能够覆盖到今天的内容了,若是还须要了解更多的docker命令能够查看docker菜鸟教程

3、先决知识 Dockerfile的了解

因为是基于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" ]
  • FROME:指明在那个镜像的基础上来构建镜像
  • VOLUME:docker由于它的高度的隔离的特性,因此若是不挂在卷的话,容器重启数据就会丢失
  • ADD:是把本地的jar包拷贝到容器里面去
  • RUN:在容器中执行构建命令
  • ENTRYPOINT:本例中表明的是执行java运行jar包的命令

4、开始构建:

  • 首先把eureka工程打包,本项目是构建jar包,固然打成war也是能够的,须要把FROM所依赖的镜像改成java和tomcat共同的镜像,同时还须要把war ADD到tomcat的webapps(或者指定tomcat的配置)
    image.png
  • 构建镜像 docker build -t eureka .
    image.png
    最后的一串字符串就是镜像的id
  • 查看构建好的镜像id,运行
    image.png
docker run -d -p 2001:2001

image.png
出现一个长的字符串就说明咱们已经运行成功了
- 检验一下 http://192.168.0.200:2001
image.png
- 查看咱们运行的镜像 docker ps -a
image.png
- 中止|启动|重启容器:docker stop|start|restart 9a3cc4915c9bspring

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

相关文章
相关标签/搜索