前言:

  本来是要搭建一个自动化部署分布式项目的服务器平台的,使用jenkins+k8s+ELK+springboot把一个简单的springboot项目给搞起来,由于工程太大,先分开把每个技术组件单独给撸一遍过去再说。全撸一遍过去后,再来整合搭建这个浩大的全方位服务器自动部署工程。

  唉,先用Docker发布一个springboot镜像demo练练手吧。

  借鉴博客:https://www.imooc.com/article/44582

  借鉴博客(此博客有连接数据库):https://segmentfault.com/a/1190000013096870

  

准备环境:

  【注意:搞这些东西的时候一定要关闭服务器的防火墙】

  CentOS7服务器一台:192.168.26.233    (服务器上安装docker就不多说了)

  springboot项目的demo一个:thymeleaf-master  (以前用来测试thymeleaf技术的一个小demo项目,正好拿来用)

第一步:准备测试的springboot项目:thymeleaf-master

  1、thymeleaf-master项目的指定启动端口为:8082

  2、thymeleaf-master项目本地启动后的页面:

  3、把此项目打成jar包,操作如下图:

第二步:docker把jar包构建成镜像:

    1、把上面打好的jar包,上传到CentOS服务器上,我在服务器上新建了目录/usr/local/dev/docker/testProject/,把jar包丢到testProject目录里,再建一个Dockerfile文件,此文件是来用构建镜像的配置,如下图:

  

    2、Dockerfile配置文件的内容:

FROM java:8
VOLUME /tmp
ADD thymeleaf-master-1.0-SNAPSHOT.jar /thymeleaf-master.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/thymeleaf-master.jar"]

    3、执行docker构建镜像命令:

#thymeleaf-master表示生成镜像的名称,(注意后面有个点.)
docker build -t thymeleaf-master .

    4、查看打成的镜像是否存在:(可以看到有两镜像,已经成功了。docker.io/java估计是docker自动打成的jar包运行环境jdk8镜像)

    5、运行刚才构建成的镜像:

#这里我项目用的8082端口,这里我也映射8082端口,加上--name xxx是为了给容器取别名,方便docker命令操作
docker run -d -p 8082:8082 --name thymeleaf-master thymeleaf-master

    6、浏览器打开ip:8082端口,查看:

=============2019年11月10日更新==============================

项目变成容器运行在docker里,怎么查看项目日志:

容器日志命令查看:表示查看容器名为thymeleaf-master的500行日志

docker logs -f -t --tail  thymeleaf-master

Docker部署运行springboot项目,并使用Dockerfile制作镜像的更多相关文章

  1. linux安装docker,并在docker上运行springboot项目

    docker架构示例图 仓库---> 镜像 --->  容器 一.安装docker 1.通过 uname -r 命令查看你当前的内核版本 uname -r 2使用 root 权限登录 Ce ...

  2. 从零开始学习docker之在docker中运行springboot项目

    一.docker环境配置 首先需要一个安装了docker的服务器(本地或者云服务器),如果没有请看上文,传送门---https://www.cnblogs.com/wdfordream/p/12737 ...

  3. docker 中部署一个springBoot项目

    docker 中部署一个springBoot项目 (1)介绍 springBoot项目 1.项目结构 2.pom.xml <?xml version="1.0" encodi ...

  4. 使用docker运行springboot项目

    本文主要讲的是使用docker运行springboot项目 获取一个springboot项目 这里我没有重新构建,用的之前写的一个项目,直接从github上下载下来,地址:https://github ...

  5. Windows Docker 部署 Spring Boot 项目

    目录 Docker Configuration Config IDEA Plugin Create Spring Boot Project Containerize It Use Dockerfile ...

  6. 使用 Docker 部署 Spring Boot 项目

    Docker 介绍 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它是目前最流行的 Linux 容器解决方案. Docker 将应用程序与该程序的依赖,打包在一个文件里面 ...

  7. 使用 Docker 部署 Spring Boot 项目,带劲!!

    上一篇:年轻人的第一个 Docker 应用 Docker 一次构建.处处运行及快速启停的特性,在微服务架构中有着举足轻重的地位,具体的概念性的东西就不介绍了,不懂的点击这里阅读 Docker 基础教程 ...

  8. 使用Docker部署Spring boot项目

    Docker是一个使用广泛的Linux容器管理工具包,它允许用户创建镜像,并将其容器实例化.通过本指南,我们可以学习到如何使用Docker部署Spring Boot项目. 先决条件 开发之前,你必须具 ...

  9. Docker 部署前后端项目

    Docker 部署前后端项目 平生不会相思,才会相思,便害相思. 简介:都是被逼的,从零开始一个Docker 部署九个微服务和三个前端项目.其中,这些服务需要用到Nacos.MySQL.Nginx.E ...

随机推荐

  1. ES5-ES6-ES7_Generator 函数

    Generator函数的概述 Generator 函数是 ES6 提供的一种异步编程解决方案 Generator函数指的是一种新的语法结构,是一个遍历器对象生成器,它内部可以封装多个状态,很适合用于异 ...

  2. 【ZJOI2012】灾难

    [ZJOI2012]灾难 阿米巴是小强的好朋友. 阿米巴和小强在草原上捉蚂蚱.小强突然想,如果蚂蚱被他们捉灭绝了,那么吃蚂蚱的小鸟就会饿死,而捕食小鸟的猛禽也会跟着灭绝,从而引发一系列的生态灾难. 学 ...

  3. nginx配置文件服务器

    server{ listen  端口号; server_name   localhost; charset utf-8; root    放文件的路径; location   /xxx/yyy/ { ...

  4. mysql 更新条件为查询出的结果

    UPDATE category c INNER JOIN ( SELECT b.category_id FROM category a, (SELECT * FROM category WHERE d ...

  5. 数据库的连接、会话与SQLite

    通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context).这个上下文是一段位于服务器端的内存:记录了本次连接的所有相关状态和运行数据. 连接(Connecti ...

  6. TortoiseHg 学习笔记

    0.前言     TortoiseHg是分布式的源代码管理工具Mercurial的GUIclient. mercurial 作为3大主流的分布式源代码管理工具.已经被广泛的使用.比如 googleco ...

  7. 隔离 docker 容器中的用户-------分享链接

    https://www.cnblogs.com/sparkdev/p/9614326.html

  8. luogu p1652 圆

    题目部分 题目描述 给出N个圆,保证任意两个圆都相离,然后给出两个点(x1,y1).(x2,y2),保证均不在某个圆上,要从点(x1,y1)到(x2,y2)画条曲线,问这条曲线最少穿过多少次圆的边界? ...

  9. centos7 关闭selinux

    关闭SeLinux 临时关闭:setenforce 0 永久关闭:vi /etc/selinux/config

  10. mysqldump 和mysqlbinlog

    一.mysqldump 1.备份test库 #mysqldump -uroot -p' test >test.sql 2.备份 -B参数 ' -B test >test_B.sql --B ...