Docker微服务实战

这篇具有很好参考价值的文章主要介绍了Docker微服务实战。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

业务需求

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

IDEA编写代码

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

项目的目录结构
Docker微服务实战,docker,容器,微服务,docker,微服务,容器

控制层代码

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>

测试代码是否能够正常启动
Docker微服务实战,docker,容器,微服务,docker,微服务,容器
Docker微服务实战,docker,容器,微服务,docker,微服务,容器
使用idea自带的maven打包工具编译代码生成jar包
Docker微服务实战,docker,容器,微服务,docker,微服务,容器

检查控制台输出信息是否有误,并查看编译好的jar包路径
Docker微服务实战,docker,容器,微服务,docker,微服务,容器
将编译好的jar包上传至服务器/root路径
Docker微服务实战,docker,容器,微服务,docker,微服务,容器

编写Dockerfile

下载基础镜像java:8 docker pull java:8
选择官方认证版本进行下载
Docker微服务实战,docker,容器,微服务,docker,微服务,容器
检查镜像是否下载成功
Docker微服务实战,docker,容器,微服务,docker,微服务,容器
创建/mydocker文件夹
将微服务jar包拷贝至目录/mydocker 并创建Dockerfile文件
Docker微服务实战,docker,容器,微服务,docker,微服务,容器
编写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同级目录执行)
Docker微服务实战,docker,容器,微服务,docker,微服务,容器
查看构建后的镜像
Docker微服务实战,docker,容器,微服务,docker,微服务,容器

运行容器

Docker微服务实战,docker,容器,微服务,docker,微服务,容器
查看容器状态
Docker微服务实战,docker,容器,微服务,docker,微服务,容器
查看服务器IP
Docker微服务实战,docker,容器,微服务,docker,微服务,容器

网页端访问测试

IP:8888/hello/docker
192.168.44.120:8888/hello/docker
成功返回 Hello docker! 至此,微服务实战结束。
Docker微服务实战,docker,容器,微服务,docker,微服务,容器文章来源地址https://www.toymoban.com/news/detail-672933.html

到了这里,关于Docker微服务实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nestjs 微服务实战 - 动态微服务创建链接

    所有的微服务都需要做服务治理 服务治理包括(配置中心、服务发现、注册服务等等),常见的包括 Java 的 Nacos,这里不关注与服务治理,只说明,如何用 nest 网关,并且在网关层动态实现微服务注入 nestjs 官网的案例明显是偏向于手动注册微服务的,例如: 以上属于官网列

    2024年01月24日
    浏览(28)
  • go-zero微服务实战——服务构建

    接上一节go-zero微服务实战——基本环境搭建。搭建好了微服务的基本环境,开始构建整个微服务体系了,将其他服务也搭建起来。 order的目录结构,如下 根目录 api服务 rpc服务 自定义逻辑层logic 自定义参数层models 自定义工具层util api服务和rpc服务都是基于goctl一键生成的,当

    2024年02月14日
    浏览(32)
  • SpringCloudAlibaba微服务实战系列(一)Nacos服务注册发现

    实战前先做一个背景了解。 单体架构:近几年技术的飞速发展,各种各样的服务已经进入到网络化。单体架构发布时只需要打成一个war或jar包发布即可;而随着业务量激增或网站流量的增加,必会暴露致命缺陷。 SOA:Service Oriented Architecture 面向服务的体系结构。旨在提升代

    2024年02月15日
    浏览(27)
  • 《微服务实战》 第三十二章 微服务链路跟踪-sleuth zipkin

    第三十二章 微服务链路跟踪-sleuth zipkin 第三十章 分布式事务框架seata TCC模式 第二十九章 分布式事务框架seata AT模式 第十二章 Spring Cloud Alibaba Sentinel 第十一章 Spring Cloud Alibaba nacos配置中心 第十章 SpringCloud Alibaba 之 Nacos discovery 第七章 Spring Cloud 之 GateWay 第六章 Spring Cloud 之

    2024年02月09日
    浏览(30)
  • go-zero微服务实战——etcd服务注册与发现

    浅谈etcd服务注册与发现 etcd官网 etcd中文文档 apt安装etcd,启动命令十分简单 etcd 。 etcd分为v2版本和v3版本,命令有所不一样,使用命令 etcdctl h 查看 如上图所示并没有出现API的版本,此时是使用默认的v2版本,但是v2版本很多命令使用不了,因此切换为v3版本,命令如下: e

    2024年02月12日
    浏览(29)
  • 一篇文章学会如何在 NestJS 中开启微服务,微服务实战分享

    在软件开发的世界里,微服务架构是一个经常被提及的概念。但它到底是什么意思呢?为什么现在这么多团队和公司选择使用微服务?而NestJS又是如何帮助开发者构建微服务的? 想象一下,你想建一座大厦。你可以选择由一间强大的公司全权负责,从地基到尖塔的每一部分;

    2024年02月21日
    浏览(29)
  • [golang gin框架] 39.Gin商城项目-微服务实战之微服务架构

    单体架构在 中小企业内部 用的是非常多的,当 业务不复杂 , 团队规模不大 的时候,单体架构比微服务架构具有 更高的生产率 单体架构 当 业务比较复杂 , 并发量 比较大, 团队规模扩大的时候, 就需要引入微服务架构了,它比单体架构 具有 更高的生产率, 可以 节省成本 , 解

    2024年02月12日
    浏览(31)
  • [golang gin框架] 40.Gin商城项目-微服务实战之Captcha验证码微服务

    本次内容需要 gin框架基础知识, golang微服务基础知识才能更好理解 在前面,讲解了微服务的架构等,这里,来讲解前面商城项目的 Captcha验证码 微服务 ,captcha验证码功能在前台,后端 都要用到 ,可以把它 抽离出来 ,做成微服务功能 编辑 这个验证码功能封装代码captcha.go如下: 把这个

    2024年02月16日
    浏览(30)
  • [golang gin框架] 42.Gin商城项目-微服务实战之后台Rbac微服务角色增删改查微服务

    上一节讲解了后台Rbac微服务用户登录功能以及Gorm数据库配置单独抽离,Consul配置单独抽离,这一节讲解 后台Rbac微服务 角色 增删改查微服务 功能,Rbac微服务角色增删改查微服务和 后 台Rbac用户登录微服务 是属于 同一个Rbac微服务 的 不同子微服务功能 ,为了区分不同子微

    2024年02月15日
    浏览(31)
  • [golang gin框架] 45.Gin商城项目-微服务实战之后台Rbac微服务之角色权限关联

    角色和权限的关联关系在前面文章中有讲解,见[golang gin框架] 14.Gin 商城项目-RBAC管理之角色和权限关联,角色授权,在这里通过微服务来实现 角色对权限的授权 操作,这里要实现的有两个功能,一个是进入授权,另一个是,授权提交操作,页面如下:  这里需要在proto/rbacRole.proto中增加

    2024年02月14日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包