共计 1305 个字符,预计需要花费 4 分钟才能阅读完成。
说明
解决微服务在多套环境发布的问题,解决开发环境和预发环境切换的问题,支持 N 套开发环境水平扩展。
Spring Boot Dockerfile 通用模板
FROM registry.cn-hangzhou.aliyuncs.com/micro-java/openjdk:8-jre-alpine | |
MAINTAINER 545544032@qq.com | |
ENV TZ="Asia/Shanghai" JVM_PARAMS="" SPRING_PARAMS=" " | |
ADD target/*.jar /server.jar | |
EXPOSE 8080 | |
CMD java $JVM_PARAMS -Djava.security.egd=file:/dev/./urandom -jar /server.jar $SPRING_PARAMS |
Note:
registry.cn-hangzhou.aliyuncs.com/micro-java/openjdk:8-jre-alpine
基于镜像openjdk:8-jre-alpine
,额外安装了工具curl
,用于 docker service 的 health check
开发 / 测试环境 docker stack 通用模板
version: '3.4' | |
services: | |
"{{service_name}}": | |
image: "{{registry_url}}/{{image_name}}:{{image_version}}" | |
environment: | |
JVM_PARAMS: "{{jvm_heap}}" # 例如: -Xmx800m -Xms800m | |
SPRING_PARAMS: "{{spring_params}}" | |
networks: | |
- overlay-network | |
volumes: | |
- type: bind | |
source: "/data/spring-boot/{{service-name}}/application.properties" | |
target: /application.properties | |
stop_grace_period: 30s | |
deploy: | |
replicas: 2 | |
resources: | |
limits: | |
memory: "{{memory_limit}}" # 例如 : 1024MB | |
update_config: | |
parallelism: 1 | |
delay: 0s | |
failure_action: rollback | |
max_failure_ratio: 0 | |
order: stop-first | |
restart_policy: | |
condition: on-failure | |
max_attempts: 3 | |
healthcheck: | |
test: "curl 127.0.0.1:8080 || exit 1" | |
interval: 3s | |
timeout: 5s | |
retries: 3 | |
start_period: 1m | |
networks: | |
overlay-network: | |
driver: overlay | |
attachable: true |
Note:此为 Ansible 中的动态模板,需要先根据环境变量渲染成具体的服务发布时用的 stack.yml 文件
待续。。。
© 著作权归作者所有, 转载或内容合作请联系作者
扫码关注
本文由博客一文多发平台 OpenWrite 发布!
正文完
发表至: java
2019-11-17