基于Docker+Jenkins+GitHub搭建持续集成环境(三) 环境控制

一、问题

      把服务做成镜像,可以解决不同环境的版本同步问题

      怎么把一个镜像应用与不同环境呢?

二、解决方案:传递变量

      1、准备Dockerfile

FROM docker.io/openjdk:latest
MAINTAINER charle "charle.qq.com"
COPY ./run.sh /run.sh
ENTRYPOINT sh /run.sh && /bin/bash

      2、准备run.sh

#!/bin/bash
echo ${ENVT}

      3、构建镜像

docker build -t="charle/test:v5" .

      4、启动镜像

docker run -dit --env ENVT=1.2 --name=testv5 charle/test:v5

      5、查看日志

打印出了传递进去的变量。

三、项目实践

spring boot项目可以通过启动命令  --spring.profiles.active=dev/test来控制使用环境;

将run.sh 修改为 

#!/bin/bash
echo ${active}
java -jar  --spring.profiles.active=${active} /data/demo.jar

 copy demo.jar就不多说

最后,启动容器时,添加变量

docker run -dit --env active=test --name=testv5 charle/test:v5

这样就完成了启动环境的控制。


版权声明:本文为qq_29945865原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。