docker中如何将jar包构建成镜像并执行
作者:眼沉沉
这篇文章主要介绍了docker中如何将jar包构建成镜像并执行问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
docker将jar包构建成镜像并执行
1.编写Dockerfile文件
FROM java:latest ADD AeurekaServer-0.0.1-SNAPSHOT.jar app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-jar","/app.jar"]
FROM 跟的是已经有的java镜像和版本号
其中绿色部分为打包的jar名称。
2.将jar包放在Dockerfile文件同一个目录下。执行命令sudo docker build -t="aeurekaserver" .
注意不要少了 . 引号中填写的是要生存的镜像名称
3.docker images查看生成的镜像。
4.执行镜像
docker制作jar镜像
第一步
首先在你存放jar包 目录下 创建Dockerfile 文件
touch Dockerfile
第二步
编写制作镜像的命令文件也就是Dockerfile文件
vi Dockerfile #指定以jdk 为基础镜像,来构建此镜像,可以理解为运行的需要基础环境 FROM majiajue/jdk1.8 #maintainer 指令 作者是xxx MAINTAINER xxx #将当前demo.jar 复制到容器根目录下 ADD /home/auth/ymf-auth.jar /home/auth/ymf-auth.jar #暴露容器端口为8080 Docker镜像告知Docker宿主机应用监听了8080端口 EXPOSE 8080 #容器启动时执行的命令 CMD java -jar -server -Xms256m -Xmx256m -Xmn128m -Xss1m -XX:-UseAdaptiveSizePolicy -XX:MaxTenuringThreshold=15 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError /home/auth/ymf-auth.jar >> /home/auth/logs/ymf-auth.out
第三步
使用docker build 构建镜像 ymf-auth 构建之后镜像名称 . 表示 Dockerfile 文件在当前目录下
docker build -t ymf-auth . #有一个.符号哟
第四步
启动镜像
docker run --name demo -it -v /home/auth:/home/auth #宿主机目录与容器目录映射 作用是只要更新宿主机jar包 相应的容器目录里的jar包也会更新 -v /etc/localtime:/etc/localtime # 宿主机时间同步容器时间 -d --restart=always ymf-auth
第五步
查看启动的容器
docker ps
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。