目录

通过idea新建一个普通微服务项目

一、新建项目

二、POM

三、YML

四、启动类

五、Controller类

启动

通过Dockerfile发布微服务部署到docker容器

一、通过idea生成一个jar包

二、编写Dockerfile

三、构建镜像

四、运行容器

五、访问测试


本篇博客的重点在于docker不在于java,所以第一部分直接复制即可。

通过idea新建一个普通微服务项目

一、新建项目


二、POM

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.2</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>docker</artifactId><version>0.0.1-SNAPSHOT</version><name>docker</name><description>docker</description><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><junit.version>4.12</junit.version><log4j.version>1.2.17</log4j.version><lombok.version>1.16.18</lombok.version><mysql.version>5.1.47</mysql.version><druid.version>1.1.16</druid.version><mapper.version>4.1.5</mapper.version><mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version></properties><dependencies><!--SpringBoot通用依赖模块--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--test--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.1.0</version></plugin></plugins></build></project>

三、YML

对,你没看错,就是这么一行

server.port=6001

四、启动类

package com.docker;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class DockerApplication
{public static void main(String[] args){SpringApplication.run(DockerApplication.class, args);}}

五、Controller类

package com.docker.Controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;import java.util.UUID;@RestController
public class OrderController {@Value("${server.port}")private String port;//http://localhost:6001/order/docker@RequestMapping("/order/docker")public String helloDocker() {return "hello docker" + "\t" + port + "\t" + UUID.randomUUID().toString();}//localhost:6001/order/index@RequestMapping(value = "/order/index", method = RequestMethod.GET)public String index() {return "服务端口号: " + "\t" + port + "\t" + UUID.randomUUID().toString();}
}

启动

看看能否正常运行

成功启动并拿到数据!


通过Dockerfile发布微服务部署到docker容器

一、通过idea生成一个jar包

点开maven,刷新一下,然后点击生成jar包

查看其地址位置

使用Xftp传输到宿主机中 (根目录下的mydocker目录)

在宿主机中查看一下:

ls /mydocker


二、编写Dockerfile

在/mydocker目录下新建Dockerfile注意大小写

vim Dockerfile

将以下内容复制进去:

FROM java:8
# 基础镜像使用javaMAINTAINER van
# 作者VOLUME /tmp
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmpADD docker-0.0.1-SNAPSHOT.jar van_docker.jar
# 将jar包添加到容器中并更名为van_docker.jarRUN bash -c 'touch /van_docker.jar'
# 运行jar包ENTRYPOINT ["java","-jar","/van_docker.jar"]EXPOSE 6001
#暴露6001端口作为微服务

三、构建镜像

这里注意空格和点:

docker build -t van_docker:1.6 .

构建完成,使用docker images查看一下:

docker images


四、运行容器

运行,微服务就直接-d后台运行即可,注意自己的镜像ID:

docker run -d -p 6001:6001 1de5bcb75c65


五、访问测试

访问宿主机ip地址:端口号/目录

或者在宿主机中用curl查看:

curl 127.0.0.1:6001/order/docker
curl 127.0.0.1:6001/order/index

都成功访问并拿到了数据,部署成功。

Docker容器 - DockerFile发布Java微服务并部署到Docker容器相关推荐

  1. 通过Dockerfile发布java微服务到Docker容器中

    1.本地IDEA创建一个微服务项目,打包,上传至服务器 2.编写Dockerfile # 基础镜像使用java FROM java:8# 作者 MAINTAINER csf# VOLUME 指定临时文 ...

  2. 微服务项目部署在docker容器运行

    昨天的一篇微服务项目中涉及到docker部署,今天写一篇关于微服务项目部署在docker容器中运行,使用github上另外一个比较经典的微服务项目piggyMetric,项目的github地址:htt ...

  3. Docker——使用docker工具管理软件/组件的运行,镜像、容器、数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境

    Docker--使用docker工具管理软件/组件的运行,镜像.容器.数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境 一.docker的安装和卸载 1.卸载 2.安装 3. 导 ...

  4. java小马哥百度网盘_思否编程(小马哥):Java 微服务实践 - Spring Boot / Spring Cloud全套,完整版下载 - VIPC6资源网...

    小马哥 Java 微服务实践 – Spring Boot 系列 pptx segmentfault-lessons-master 03Java 微服务实践 – Spring Boot 系列(三)Web ...

  5. java小马哥mercyblitz,小马哥 Java 微服务实践 - Spring Boot 系列

    资源介绍 教程名称:小马哥 Java 微服务实践 - Spring Boot 系列 教程目录: 03Java 微服务实践 - Spring Boot 系列(三)Web篇(中) 04Java 微服务实践 ...

  6. Docker容器及Spring Boot微服务应用

    2019独角兽企业重金招聘Python工程师标准>>> Docker容器及Spring Boot微服务应用 1 什么是Docker 1.1 Docker的出现 问题一:项目实施环境复 ...

  7. Java微服务篇5——Docker

    Java微服务篇5--Docker 1.虚拟化技术 虚拟化技术是一种计算机资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储 等,予以抽象.转换后呈现出来.虚拟化技术打破了计算机实体结 ...

  8. 容器化技术与微服务结合---docker(一)

    目录 系列 微服务 docker场景 mac上docker安装 系统要求 安装 linux上docker安装 Docker的一些命令 springcloud结合docker部署 docker buil ...

  9. 容器化技术与微服务结合---结合springcloud微服务框架进行部署(含切换成阿里云docker仓库)(五)

    目录 系列 更换成阿里云仓库 开通阿里云镜像服务 创建仓库 本地k8s切换成阿里云的镜像仓库 测试阿里云镜像 准备简单的微服务 eureka 应用配置 k8s配置: demo-a 应用配置 k8s配置 ...

最新文章

  1. Angular 4+ HttpClient
  2. 近万个Python开源项目中精选Top34!
  3. linux下查看tomcat的启动日志
  4. STM32开发 -- 自动连接一个未保存过的WIFI
  5. TNN API说明文档
  6. 一个顾客买了价值x元的商品(C语言)
  7. vue-cli脚手架的.babelrc文件
  8. [译]RabbitMQ教程C#版 - 远程过程调用(RPC)
  9. java 大文件下载_Java大文件下载不全问题
  10. edittext 无法输入内容_掌握其中1个Excel小技巧,你就不用再担心会重复录入内容了。...
  11. jdk源码阅读-HashMap
  12. overfitting怎么解决?
  13. linux端口利用入侵,利用samba服务漏洞入侵linux主机
  14. 英语词性的分类及用法详述
  15. 舵机信号线怎么区分,有什么用
  16. meterpreter_paranoid_mode.sh允许用户安全上演/无级连接Meterpreter经检查合格证书的处理程序正在连接到...
  17. 洛谷2990 牛跳房子Cow Hopscotch
  18. R语言如何合并Excel多行的重复数据
  19. 自然保护区相关矢量数据下载
  20. 大学生提高计算机应用能力,大学生计算机应用能力的培养策略

热门文章

  1. Jquery遍历元素
  2. 从代码级别的技术细节入手,看性能优化怎么做?
  3. launchctl :MAC 下的定时任务
  4. 世上最好的抉择,莫过于把眼前的事情做好
  5. 三个月的2020秋招测开面试经验,包含阿里,百度、华为等面试题
  6. CentOS安装配置Java环境
  7. 30天自制操作系统 - 用INT 0x13/AH=0x42h读磁盘
  8. 华为鸿蒙流畅好吗,华为鸿蒙系统有什么优点-华为鸿蒙系统好用吗?
  9. 推荐10款免费而优秀的图表插件
  10. Android Studio引用aar