配置: 阿里云服务器Debian
软件: finalshell(上传文件至服务器) IDEA
下面进入正题:
- 首先先用本地终端打包
mvn clean package
第一种方法:使用IDEA终端输入命令
第二种方法:利用mac终端或者windows的cmd
第三种方法:
- 编写Dockerfile文件,先要安装Docker插件(IDEA里setting安装即可,注意写docker时是否有高亮,没有的话再次确认是否安装成功)
(注意是与pom.xml同名下的文件)
格式为:
#你的这个镜像是基于什么写的
FROM java:8
#将jar包复制到/app目录下
COPY *.jar /app.jar
#设置端口为8080
CMD ["--server.port=8080"]
#暴露8080端口
EXPOSE 8080
#初始化命令
ENTRYPOINT ["java","-jar","/app.jar"]
- 使用finalshell将Dockerfile和jar包上传到服务器指定文件夹
注意:
是上面一个jar包(大概十几MB以上才是正常),在target目录里。下面那个是你上上次打包的一些东西(一些对象,不全)
在服务器的/home/idea里可以查看到上传的文件
- docker的一些命令: (1) 生成自己的镜像 -t就是-tag ,后面有一个小点别忘记!
只有Dockerfile写的格式标准才可以这么写,要不然要自己自定义Dockerfile文件路径
可以自己 docker build --help查看
docker build -t 自己定义的镜像名字 .
此时他应该会自己安装java8(你的Dockerfile文件里写了FROM java:8)
可以输入docker images -a查看已有的镜像名
(2)将镜像变成容器并运行
-d后台运行
--name容器命名
-P表示随机端口(如果要指定端口的话就把“- P”改成“-p 端口号:8080”,8080是Dockerfile里写的,也是可以改的)
docker run -d -P --name 自定义容器名字 你上面定义的镜像名字
可以用docker ps -a查看已有的容器;
这样就可以通过ip地址加端口号访问到已经部署的web应用啦。