把jar打包成镜像
将DockerFile 和 jar 上传到虚拟机。如有问题,欢迎指正!
·
DockerFile
#依赖java8
FROM java:8
#暴露8080
EXPOSE 8080
#挂载目录
VOLUME /tmp
#linux 将renren-fast.jar 复制到app.jar
#不确定jar名字可以写*.jar 即为所以
ADD renren-fast.jar /app.jar
#更新时间
RUN bash -c 'touch /app.jar'
#容器已启动 默认运行命令 java -jar app.jar
#生产环境启动 可以写#容器已启动 默认运行命令 java -jar app.jar
#ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=prod"]
#解决OOM问题 指定内存初始128M 最大300M ENTRYPOINT ["java","-jar","-Xms128m","-Xmx300m","/app.jar","--spring.profiles.active=prod"]
ENTRYPOINT ["java","-jar","/app.jar"]
idea maven 打包
先clean
再install
打成的jar
制作镜像
将DockerFile 和 jar 上传到虚拟机
#-f 镜像规则
#-t 打成什么样的镜像
#. 代表跟dockerFile 同路径下的上面指定的资源 renren-fast.jar
docker build -f DockerFile -t docker.io/jhj/test:v1.0 .
#通过以下命令就可以查看到刚刚打包的镜像
docker images
使用
docker-compose
version: '3'
services:
renren-fast:
image: renren/fast
ports:
- "8080:8080"
environment:
- spring.profiles.active=dev
可以将打包好的镜像推送到远程仓库
#登录远程
docker login -u name -p password
#推远程
docker push docker.io/jhj/test:v1.0
将正在运行的容器打包成镜像
docker commit -a “leifengyang” -m “nginxxx” 容器 id mynginx:GA-2.0
#docker commit [OPTIONS] CONTAINER
#[REPOSITORY[:TAG]]
#OPTIONS 说明:
#1) -a :提交的镜像作者;
#2) -c :使用 Dockerfile 指令来创建镜像;
#3) -m :提交时的说明文字;
#4) -p :在 commit 时,将容器暂停
不能打包挂载的目录
如果要进行挂载打包 需要手动编写dockerFile 然后docker build
举例如下:
Add会自动解压
阿里云操作
# 登录阿里云,密码就是开通镜像仓库时 的密码
docker login --username=qwertyuiopasdf_aa registry.cn-hangzhou.aliyuncs.com
# 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/atguigumall/gulimall-nginx:v1.0
# 推送镜像
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/atguigumall/gulimall-nginx:v1
docker push registry.cn-hangzhou.aliyuncs.com/atguigumall/gulimall-nginx:v1
作者声明
如有问题,欢迎指正!
更多推荐
已为社区贡献2条内容
所有评论(0)