docker部署简单的web应用

527 阅读2分钟

配置: 阿里云服务器Debian

软件: finalshell(上传文件至服务器) IDEA

截屏2022-03-17 下午2.10.39.png

下面进入正题:

  1. 首先先用本地终端打包

mvn clean package

第一种方法:使用IDEA终端输入命令

截屏2022-03-17 下午2.13.44.png

第二种方法:利用mac终端或者windows的cmd

截屏2022-03-17 下午2.17.52.png

第三种方法:

截屏2022-03-17 下午2.27.59.png

  1. 编写Dockerfile文件,先要安装Docker插件(IDEA里setting安装即可,注意写docker时是否有高亮,没有的话再次确认是否安装成功)

截屏2022-03-17 下午2.23.12.png (注意是与pom.xml同名下的文件)

格式为:

截屏2022-03-17 下午2.24.35.png

#你的这个镜像是基于什么写的
FROM java:8

#将jar包复制到/app目录下
COPY *.jar /app.jar

#设置端口为8080
CMD ["--server.port=8080"]

#暴露8080端口
EXPOSE 8080

#初始化命令
ENTRYPOINT ["java","-jar","/app.jar"]
  1. 使用finalshell将Dockerfile和jar包上传到服务器指定文件夹

注意: 是上面一个jar包(大概十几MB以上才是正常),在target目录里。下面那个是你上上次打包的一些东西(一些对象,不全) 截屏2022-03-17 下午2.30.50.png

在服务器的/home/idea里可以查看到上传的文件

截屏2022-03-17 下午2.19.58.png

  1. 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应用啦。

截屏2022-03-17 下午2.47.11.png