-
首先准备好打包应用镜像需要的Dockerfile文件;
该镜像需要依赖的基础镜像
FROM java:8
将当前目录下的jar包复制到docker容器的/目录下
ADD mall-tiny-deploy-1.0-SNAPSHOT.jar /mall-tiny-deploy-1.0-SNAPSHOT.jar
声明服务运行在8088端口
EXPOSE 8088
指定docker容器启动时运行jar包
ENTRYPOINT ["java", "-jar","/mall-tiny-deploy-1.0-SNAPSHOT.jar"]
指定维护者的名字
MAINTAINER macrozheng
-
再准备好可以自动打包应用镜像、创建并运行容器的脚本run.sh,这两个脚本的具体使用可以参考使用Jenkins进行自动化部署的技巧 ;
#!/usr/bin/env bash
定义应用组名
group_name='mall-tiny'
定义应用名称
app_name='mall-tiny-deploy'
定义应用版本
app_version='1.0-SNAPSHOT'
定义应用环境
profile_active='prod'
echo '----copy jar----'
docker stop appnameecho′−−−−stopcontainer−−−−′dockerrm{app_name}
echo '----stop container----'
docker rm appnameecho′−−−−stopcontainer−−−−′dockerrm{app_name}
echo '----rm container----'
docker rmi groupname/{group_name}/groupname/{app_name}:${app_version}
echo '----rm image----'打包编译docker镜像
docker build -t groupname/{group_name}/groupname/{app_name}:appversion.echo′−−−−buildimage−−−−′dockerrun−p8088:8088−−name{app_version} .
echo '----build image----'
docker run -p 8088:8088 --name appversion.echo′−−−−buildimage−−−−′dockerrun−p8088:8088−−name{app_name}
--link mysql:db
-e 'spring.profiles.active'=profileactive −eTZ="Asia/Shanghai" −v/etc/localtime:/etc/localtime −v/mydata/app/{profile_active} \
-e TZ="Asia/Shanghai" \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/profileactive −eTZ="Asia/Shanghai" −v/etc/localtime:/etc/localtime −v/mydata/app/{app_name}/logs:/var/logs
-d groupname/{group_name}/groupname/{app_name}:${app_version}
echo '----start container----' -
将这两个文件上传到Linux服务器上,给run.sh添加可执行权限;