参考文章
参考文章2
关于Jib
Java应用如果要运行在docker环境,就要制作包含该应用的docker镜像,Jib就是用来制作此镜像的的工具,有三种使用Jib的方法:
Maven插件:jib-maven-plugin;
Gradle插件:jib-gradle-plugin;
Java库:Jib Core;
1
mvn compile jib:buildTar
2
去java工程的target目录下,发现生成了名为jib-image.tar的文件,
3
在java工程的target目录下执行命令docker load < jib-image.tar即可将该tar文件中的镜像加载到本地镜像仓库:
4
执行命令docker images
可见镜像加载成功:
5
验证镜像是否可用
执行以下命令,即可启动容器:
docker run --rm -p 8080:8080 bolingcavalry/hellojib:0.0.1-SNAPSHOT
6
用浏览器访问:http://192.168.121.132:8080/hello
7
执行命令docker rmi bolingcavalry/hellojib:0.0.1-SNAPSHOT将前面构建的镜像删除
docker加载镜像报错 dockerError processing tar file(exit status 1): no space left on device
从报错信息可以知道docker空间不足,在使用一段时间后的docker空间会被写满,使用docker info打印Data Space Used: 107.4 GB,默认空间是107G,可以知道已经写满
解决方案:停止docker镜像服务,删除镜像和容器,一般可以恢复,若未恢复,删除/var/lib/docker/目录下文件,可以恢复。
注意:再删除/var/lib/docker/下目录时,需要将docker服务停止。
step 1: sudo docker info明确 Docker Root Dir: 为 /var/lib/docker
step 2: 关闭 docker 服务 sudo systemctl stop docker
step 3: sudo rm -rf /var/lib/docker
step4:systemctl restart docker