借鉴参考:
Docker部署:https://www.cnblogs.com/bxssjava/p/9978449.html
Docker端口映射含义:https://blog.csdn.net/qq_29994609/article/details/51730640
外部网络通过端口映射访问部署在虚拟机里Docker中的Web应用:https://blog.csdn.net/liwenxia626/article/details/80848377
ps:自己记录一下为了以后docker快速部署。
首先部署项目到docker上,在网上看到有很多种方法,这里选择了jar方式,主要是个人对docker不熟,且懒。
将项目打成jar包:
然后准备Dockerfile文件,里面就是一些命令:
FROM java:8
EXPOSE 8090
VOLUME /demo_docker_test-0
ADD demo_docker_test-0.0.1-SNAPSHOT.jar /app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar"]
from:是指以哪一种基础镜像为基础;这里选择Java8
Expose:项目中的端口号
Volume:卷名(当需要持久化时有作用,存储的文件夹)
add:添加文件到镜像中
RUN: 在当前的镜像基础上执行指令,并提交为新景象(不太明白)
entrypoint:容器启动以后要执行命令
然后将jar包,上传到虚拟机中:
自己建一个文件夹 web/helloworld:
将jar包和Dockerfile文件放到web/helloworld文件夹下
至此,准备工作做好了。
cd 到 放这两个文件的目录下(我的是:/usr/local/software/web/hellowrold)
然后:
构建镜像:
docker build -t mydocker(镜像名称:自定义)
配置宿主机器(本机上的虚拟机)与虚拟机(docker)的端口映射:
docker run -d -p 7654:8090 mydocker
7654:虚拟机上的端口;8090:docker容器端口
这样就可以在本机上,通过: http://虚拟机IP:7654 访问项目了。
然后再配置一下本机和虚拟机之间的端口映射,在局域网的其他电脑 就可以通过IP:端口号访问该项目了。
至此,就打工完了。