我使用的Idea、gradle,不管你用什么都一样
gradle.build不需要改变
gradle打包,如果你使用的maven也有对应的打包方式
打完包之后,从项目里面复制出来,进入终端命令控制台,进入jar存放的目录,运行
java -jar 包名.jar
- 运行成功了,就可以进行下一步,如果不成功,你的代码有问题,就没必要看下面了
修改jar名,名为hello,复制jar包到linux系统
创建一个文件夹,位置自己选择
mkdir hello
将jar包复制到hello文件下
进入hello文件夹,创建Dockerfile
cd hello
vim Dockerfile
hello文件有Dockerfile和hello.jar
Dockerfile内容
FROM java:8
VOLUME /tmp
Add hello.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
- FROM:指定基础镜像,这个镜像如果你没下载也没关系,会自动帮你下载
- VOLUME:指定容器卷,就是容器和linux的共享文件
- ADD:复制并且解压
- EXPOSE:暴露端口
- ENTRYPOINT:运行jar包
创建容器,并且运行,必须在你创建的文件夹下,这个指令才生效,因为这个指令没有指定Dockerfile文件的路径,所以就会默认找当前目录下名为Dockerfile文件
docker run -t -p 8080:8080 hello:1.0
docker ps
最后在宿主机的浏览器里面访问,不同电脑ip都不一样,每个人的项目访问也不一样
https://虚拟机的ip:8080/xxx