制作一个springboot程序的docker镜像,并挂在到宿主机上一个卷,写入文件
前提:必须先安装好docker环境
1.先制作一个spring boot的demo,功能是访问/test1,然后将字符串写入一个文件
2.把spring boot打成jar包发布,demo.jar
3.在linux的/opt 下新建一个文件夹,比如叫demo1
4.在demo1文件夹下新建一个Dockerfile文件,内容如下:
FROM java:8
VOLUME /usr/test
ADD demo.jar app.jar
EXPOSE 8086
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
5.把demo.jar上传到demo1这个文件夹下
6.构建docke镜像文件
docker build -t root/demo1:0.1 .
root: 为运行程序的用户,这个可以随便写
demo1: 为镜像别名
root+demo1组成镜像的REPOSITORY
0.1则为镜像的TAG
最后面的. 则表示Dockerfile在当前目录
7.构建好之后,可以通过docker images查看刚创建好的镜像
8.运行容器
docker run -d -p 8086:8086 --name demo1 aa22967bac37
--name demo1指定容器的名字为demo1
aa22967bac37 为镜像Id
-p 8086:8086 为把容器内部端口指向宿主机的端口(前面为宿主端口,后面的容器内端口)
9.通过docker ps 查看运行的容器
10.访问http://localhost:8086/docker/test1 成功返回success
11.再到查看/var/lib/docker/volumes 改容器挂在的卷,是否产生了对应的test.txt文件
经查看/var/lib/docker/volumes/eb51659a44ed68492ae81e2d0ae64d7890d01e336b6053a6cdb402f0f9ed90da/_data/test.txt产生了文件内容
把镜像上传到docker hub,这个额外的工作,只是为了后期维护镜像方便
1.commit一个容器 命令: docker commit CONTAINER ID wherein/ubuntu
docker commit 86b7b78c3b53 jasion/demo1
2.需要登录docker账号
docker login
3.将刚才的镜像push 到你的hub 那里去 命令: docker push jasion/demo1:latest
这个latest其实就是一个tag name 会在hub的Tags那里显示
docker push jasion/demo1:0.1
4.现在验证一下 命令: docker inspect jasion/demo1
如何查看springboot日志
1.查看实时日志 docker log -f 容器Id
2.查看本地日志,先用docker ps 看容器信息,
然后用docker inspect 容器Id 查看容器详细信息,得到长串的容器Id,
根据这个长Id到宿主机器这个目录查看日志
/var/lib/docker/containers/长容器Id/长容器Id-json.log
如何进入springboot容器
docker exec -it 142357f0e786 /bin/sh
142357f0e786 为容器Id
分享到:
相关推荐
Docker+Jenkins+GitLab+Maven+SpringBoot&SpringCloud;自动化构建
1. Docker+Jenkins+GitLab+Maven+Harbor+SpringBoot自动化构建+Jenkins自动化部署配置 2.无须运维部署 ,而是相关的开发人员,测试人员登录jenkins传入需要部署的tag即可,整个部署过程无须运维参与,解放运维劳动力
基于Jenkins+Gitlab+Docker实现SpringBoot项目自动部署
Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建
Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统源码.rar
带截图带使用说明带数据库,完全可以运行。 Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统源码.zip
根据自身的搭建,总结了一个关于docker + springboot + dubbo的发布提供者的文档
主要介绍了Linux+Docker+SpringBoot+IDEA一键自动化部署的详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这是描述dubbo+zookeeper+springboot微服务的例子,已经验证过,可以通过docker安装部署
该系统包括管理员界面和普通员工界面,相应实现不同的功能 前端界面由vue实现
Docker+Jenkins+GitLab+Maven+SpringBoot&SpringCloud实现自动化构建镜像与部署详解 https://www.jianshu.com/p/bdb0642b7495 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用。 本文章会涉及结合...
如何零基础搭建一套微服务框架(Spring Boot+Dubbo+Docker+Jenkins)
1. springBoot默认使用的是tomcat-jdbc的数据库连接池,默认使用的是dbcp的 2. 日志使用由'Starter POMs',使用Commons Logging记录日志 3. 使用的是 [https://github.com/astarring/mybatis-generator-gui/releases...
微服务实战:Dubbox+SpringBoot+Docker
导入IDEA,maven一键配置,流畅运行,绝对可以跑。 用户管理:登录、修改用户 博客管理:发表、编辑、删除博客、搜索博客、博客统计等 评论管理:发表评论、评论量统计 分类管理:创建分类、编辑分类、查询分类、...
前后端项目和配置文件
博客系统已经上线的编辑器使用markdown如果不会docker有非docker的部署方式,默认的是非docker部署的maven构建
docker-compose启动springboot项目-springboot+redis实战案例。可以参考文章:https://blog.csdn.net/Ber_Bai/article/details/119995240
重庆大学 2016级 2020应届 毕业设计 Flutter+SpringBoot+Docker