docker 部署springcloud项目

时间:2019-12-11
本文章向大家介绍docker 部署springcloud项目,主要包括docker 部署springcloud项目使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

docker pull adoptopenjdk/openjdk8

二、编写Dockerfile

FROM adoptopenjdk/openjdk8

MAINTAINER gyh

COPY meisooEureka_1.0.0.jar /home/meisapp/services/meisooEureka/1.0.0/meisooEureka_1.0.0.jar

EXPOSE 8761

WORKDIR /home/meisapp/services/meisooEureka/1.0.0

RUN mkdir -p /home/meisapp/services/meisooEureka/1.0.0/logs && ln -s /dev/stdout /stdout.log

ENTRYPOINT ["java","-jar","-Xms1024M","-Xmx1024M","/home/meisapp/services/meisooEureka/1.0.0/meisooEureka_1.0.0.jar","--spring.profiles.active=devTest"]

三、构建镜像

docker build -t gyh/openjdk8:v1.0 .

参数:
注意最后有个点,代表使用当前路径的 Dockerfile 进行构建 
-t  gyh/openjdk8:v1.0  给新构建的镜像取名为gyh/openjdk8:v1.0

四、由于日志数据无论什么情况都不能丢失,所以数据存在容器外部,通过映射操作,映射到容器内部,参数如下

-v hostPath:containerPath【将宿主机的路径,映射到容器内部。这个路径既可以是文件夹,也可以是文件】

五、启动容器,假设在宿主机中数据存放路径为/home/meisapp/services/meisooEureka/1.0.0/logs

docker run -d   -p 8761:8761 -m 1050M --memory-swap 1050M -c 512 \ 
-v /etc/localtime:/etc/localtime \
-v /etc/timezone:/etc/timezone \
-v /home/meisapp/services/meisooEureka/1.0.0/logs:/home/meisapp/services/meisooEureka/1.0.0/logs \
--name meisooEureka_1.0.0_20191211 \
gyh/openjdk8:v1.0

六、具体参数含义

-p 外部端口:容器内部端口
-m 容器内存限制,格式是数字加单位,单位可以为 b,k,m,g。最小为 4M 
--memory-swap 内存+交换分区大小总限制。格式同上。必须大于等于-m设置的数字
-c 设置容器CPU权重,在CPU共享场景使用
-it 标准输入输出有关
-d 后台启动
-v 文件映射
-e 设置环境变量到容器中
--name  指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字
/etc/timezone和/etc/localtime,这是为了让容器的时间和时区与宿主机保持一致。默认情况下容器为 UTC 标准时间。/etc/timezone让容器时间,时区和宿主机一致。但是如果不映射/etc/localtime应用中的时区还是错的,虽然使用date -R命令查看时间和时区都正常

原文地址:https://www.cnblogs.com/faithH/p/11981227.html