当前位置: 首页 > news >正文

Docker微服务实战

文章目录

      • 业务需求
      • IDEA编写代码
      • 编写Dockerfile
      • 构建镜像
      • 运行容器
      • 网页端访问测试

业务需求

利用Docker部署应用服务,实现在网页端通过输入地址 ip:端口/hello/docker,页面显示hello docker !

IDEA编写代码

创建springboot项目
网上很多教程,此步骤省略…

项目的目录结构
在这里插入图片描述

控制层代码

package com.zmy.demo01.Controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/hello")
public class HelloController {@RequestMapping("/docker")public String helloWorld() {return "Hello docker!";}
}

application.properties 配置信息

server.port=8086

启动类自动生成无需改动

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

POM.XML代码

<?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.1</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.zmy</groupId><artifactId>demo01</artifactId><version>0.0.1-SNAPSHOT</version><name>demo01</name><description>demo01</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><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></plugin></plugins></build></project>

测试代码是否能够正常启动
在这里插入图片描述
在这里插入图片描述
使用idea自带的maven打包工具编译代码生成jar包
在这里插入图片描述

检查控制台输出信息是否有误,并查看编译好的jar包路径
在这里插入图片描述
将编译好的jar包上传至服务器/root路径
在这里插入图片描述

编写Dockerfile

下载基础镜像java:8 docker pull java:8
选择官方认证版本进行下载
在这里插入图片描述
检查镜像是否下载成功
在这里插入图片描述
创建/mydocker文件夹
将微服务jar包拷贝至目录/mydocker 并创建Dockerfile文件
在这里插入图片描述
编写Dockerfile文件

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

构建镜像

打包成镜像文件
docker build -t hello_docker:1.1 . (在Docker同级目录执行)
在这里插入图片描述
查看构建后的镜像
在这里插入图片描述

运行容器

在这里插入图片描述
查看容器状态
在这里插入图片描述
查看服务器IP
在这里插入图片描述

网页端访问测试

IP:8888/hello/docker
192.168.44.120:8888/hello/docker
成功返回 Hello docker! 至此,微服务实战结束。
在这里插入图片描述

http://www.lryc.cn/news/138303.html

相关文章:

  • NLNet论文总结和代码实现
  • 数字 IC 设计职位经典笔/面试题(三)
  • Matlab分割彩色图像
  • [数据集][目标检测]垃圾目标检测数据集VOC格式14963张44类别
  • MATLAB算法实战应用案例精讲-【深度学习】推荐系统模型DSSMDeepFM
  • 基于springboot的社区生活缴费系统/基于javaweb的水电缴费系统
  • Linux —— keepalived
  • ubuntu安装pyenv
  • 【Kubernetes】对外服务之 Ingress
  • 大数据项目实战(安装准备)
  • SAP ABAP基础语法-内表篇(二)
  • 读SQL学习指南(第3版)笔记05_过滤
  • 防火墙组建双击热备后老是主备自动切换怎么处理?
  • SQL地址门牌排序,字典序转为数字序
  • DevExpress WinForms数据编辑器组件,提供丰富的数据输入样式!(二)
  • HTML番外篇(五)-移动端适配
  • 数字孪生:重塑制造、医疗和能源等领域的未来
  • 本地搭建CFimagehost私人图床【公网远程访问】
  • stm32之8.中断
  • 【面试题】:前端怎么实现组件的封装和上传
  • Oracle-day2:随机函数、innot in、大小写转换、范围查询、日期类型、空值与非空值、排序、条件判断
  • keepalived
  • react-native-gesture-handler 手势的使用
  • 【SA8295P 源码分析】系列文章链接汇总 - 持续更新中
  • springBoot防止重复提交
  • lvs-dr模式+keepalived
  • [C++]笔记-知识点总结
  • 1.RabbitMQ介绍
  • 软考高级系统架构设计师系列论文七十三:论中间件在SIM卡应用开发中的作用
  • 【Java架构-包管理工具】-Maven进阶(二)