# 容器化集成
# 示例工程
系统应用集成示例工程打开 (opens new window)
# 本内容你将获得
- 快速集成容器打包的方式和多种打包方式
- 前后端打包的方式
- 前端打包自定义后端域名方式
- 容器上传镜像中心方式
- 支持源码到镜像(S2I)的集成方式
# 服务工程容器化
这里主要是集成jib-maven-plugin插件,集成的是阿里云镜像仓库
# 配置服务器镜像认证
服务器配置 docker-login,如下:
REGISTRY_USERNAME=
REGISTRY_PASSWORD=
docker login --username=$REGISTRY_USERNAME --password=$REGISTRY_PASSWORD registry.cn-shenzhen.aliyuncs.com
# 容器化打包
账号名密码可以使用 jenkinsfile 自定义配置,这里做了显示配置,不太安全,例子待补充
# 自定义镜像创建和认证
export DOCKER_REGISTRY=registry.cn-shenzhen.aliyuncs.com
export REGISTRY_NAMESPACE=alinesno-cloud-incubator
# jenkins写法
mvn -B -U -f ${projectName}/pom.xml install package
mvn -B -U -f ${projectName}/pom.xml clean compile jib:build -Ddocker.registry.name=${REGISTRY_NAMESPACE}
# 本地工程写法
mvn clean compile jib:build \
-Ddocker.repostory=${DOCKER_REGISTRY} \
-Ddocker.registry.name=${REGISTRY_NAMESPACE}
如果自定义账号名密码的方式,添加如下配置
export REGISTRY_USERNAME=
export REGISTRY_PASSWORD=
mvn -B -U -f ${projectName}/pom.xml clean compile jib:build \
-Djib.to.auth.username=${REGISTRY_USERNAME} \
-Djib.to.auth.password=${REGISTRY_PASSWORD}
# 前端工程容器化
这里主要集成的是 maven 打包插件,与 maven 工程整合构建打包
# 前端工程打包
前端工程打成容器镜像
projectName=alinesno-cloud-demo-ui
# 镜像构建设置变量
export docker_repostory=registry.cn-shenzhen.aliyuncs.com
export docker_registry_name=alinesno-cloud-incubator
export project_artifactid=alinesno-cloud-demo-ui
export project_version=2.1.2-RC
cd ${projectName}/docker
bash ${projectName}/docker/build-docker.sh
其它build-docker.sh请查看示例工程
2.1.2-RC后版本镜像打包方式,更加简洁,如下:
mvn clean package && bash ./docker/build-docker.sh \
-r registry.cn-shenzhen.aliyuncs.com \
-s alinesno-cloud-incubator \
-a alinesno-cloud-demo-ui \
-v 2.1.2-RC
参数说明:
- r 镜像仓库地址,比如
registry.cn-shenzhen.aliyuncs.com - s 镜像空间地址,比如
alinesno-cloud - a 镜像名称,这里建设默认取工程名称或者pom.xml中的articlectid,比如
alinesno-cloud-demo-s2i-ui - v 镜像版本号,这里建议跟随工程版本号
# 其它
- 无