制作一个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项目自动部署 本文主要介绍了基于Jenkins、Gitlab和Docker实现SpringBoot项目自动部署的方法。下面将从Jenkins的安装、配置到自动化构建和部署的整个过程进行详细说明。 ...
优质项目,基于Docker+SpringBoot+Mybatis+thymeleaf开发的Java博客系统,源码+文档 添加docker整合 schema.sql修改 install步骤,数据库地址配置时:mysql地址写为mysql容器的名字即可,即mysql:3306 ...
Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建
Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统源码.rar
带截图带使用说明带数据库,完全可以运行。 Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统源码.zip
主要介绍了Linux+Docker+SpringBoot+IDEA一键自动化部署的详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
Docker+Jenkins+GitLab+Maven+SpringBoot&SpringCloud实现自动化构建镜像与部署详解 https://www.jianshu.com/p/bdb0642b7495 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用。 本文章会涉及结合...
该系统是基于现代Web开发技术栈构建的,主要利用Vue.js作为前端框架,SpringBoot作为后端服务框架,MyBatis作为数据访问层组件,并且整合了邮箱验证功能以及Docker容器化部署。以下是这些技术在系统中的应用及重要性...
Docker安装mysql8.0集群-主主(双主)部署实现 1. 主从复制的原理 2. 主主(双主)实现方案 3. 前置条件 4. 安装步骤 (1) 拉取镜像 (2) docker启动mysql容器 ...7.SpringBoot+druid集成
这是描述dubbo+zookeeper+springboot微服务的例子,已经验证过,可以通过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...
本资源是一个教务查询系统,...Web框架:SpringBoot ORM框架:Mybatis 安全框架:Shiro 分页插件:PageHelper 连接池:SpringBoot自带的HiKariCP 日志:SpringBoot自带的LogBack 前端框架:Bootstrap 在线预览 ...
导入IDEA,maven一键配置,流畅运行,绝对可以跑。 用户管理:登录、修改用户 博客管理:发表、编辑、删除博客、搜索博客、博客统计等 评论管理:发表评论、评论量统计 分类管理:创建分类、编辑分类、查询分类、...
"K8S+DockerCE+Jenkins+Maven+Gitlab自动化打包部署" 以下是从给定的文件中生成的知识点: 一、概述 * 自动化打包部署是指将程序从开发到部署的整个流程自动化,以提高研发效率和生产效率。 * 本文将介绍使用 K8S...