docker部署jar
新建一个spring boot项目如下:
该项目,就一个请求
访问端口为:
server:
port: 8081
将项目打包为jar
新建DockerFile文件,注意必须为DockerFile文件名称,并且没有扩展名称,别文件类型为.txt格式的
文件内容如下:
FROM java:8
VOLUME /tmp
ADD test-0.0.1-SNAPSHOT.jar test.jar
ENTRYPOINT ["java","-jar","/test.jar"]
配置说明:
FROM ,表示使用 Jdk8 环境 为基础镜像,如果镜像不是本地的会从 DockerHub 进行下载
VOLUME ,VOLUME 指向了一个/tmp的目录,由于 Spring Boot 使用内置的Tomcat容器,Tomcat 默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
ADD ,拷贝文件并且重命名
ENTRYPOINT ,格式:ENTRYPOINT ["","",""]
配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖。(每个 Dockerfile 中只能有一个 ENTRYPOINT ,当指定多个时,只有最后一个起效)
将生成的jar和DockerFile文件放在一起,随便哪个文件夹中,如我的放在桌面yu目录下:
进入目录,cmd模式
构建docker镜像,注意后面的点别省略了,点表示当前目录
代表使用当前路径的 Dockerfile 进行构建
docker build -t demo .
生成的镜像取名为demo, -t为镜像的名称/标签
可以看到依次执行了我们的DockerFile文件中的命令,因为我之前已经下载了java的镜,就不必重新拉取了
我们关闭cmd,在docker页面查看所有的镜像如下:
可以看到demo镜像成功生成了,下面我们运行使用镜像生成容器运行:
docker run -d -p 8081:8081 demo
可以看到启动成功了
说明:
-d:后台运行命令
-p:宿主机和运行端口映射
查看正在运行的容器:
也可以看到容器成功运行了,下面我们浏览器访问下:
http://宿主ip:8081/yu
结果如下:
成功运行了。。。
上一篇: Kafka之——扩展logback将日志输出到Kafka实例
下一篇: 常用NoSQL比较