栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

docker微服务简单打包部署

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker微服务简单打包部署

docker微服务简单打包部署

1、通过IDEA新建微服务模块

1.1 目录结构如下:1.2 pom.xml1.3 配置文件1.4 主启动类1.5 业务类 2、通过Dockerfile发布微服务部署到docker容器

2.1 IDEA工具里面搞定微服务jar包2.2 编写Dockerfile2.3 构建镜像2.4 查看构建的镜像2.5 运行容器2.6 访问测试

这里只是测试单个微服务模块怎样打包成镜像并运行,后面会使用容器编排技术。

1、通过IDEA新建微服务模块 1.1 目录结构如下:

1.2 pom.xml


    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.5.6
         
    
    com.atguigu.docker
    docker_boot
    0.0.1-SNAPSHOT
    docker_boot
    Demo project for Spring Boot
    
        UTF-8
        1.8
        1.8
        4.12
        1.2.17
        1.16.18
        5.1.47
        1.1.16
        4.1.5
        1.3.0
    
    
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    


    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

1.3 配置文件

application.properties或者yml文件都可以,我这里用的properties

server.port=6001
1.4 主启动类
@SpringBootApplication
public class DockerBootApplication {

    public static void main(String[] args) {
        SpringApplication.run(DockerBootApplication.class, args);
    }

}
1.5 业务类
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;

    @RequestMapping("/order/docker")
    public String helloDocker(){
        return "hello docker"+"t"+port+"t"+ UUID.randomUUID().toString();
    }

    @RequestMapping(value ="/order/index",method = RequestMethod.GET)
    public String index()
    {
        return "服务端口号: "+"t"+port+"t"+UUID.randomUUID().toString();
    }

}
2、通过Dockerfile发布微服务部署到docker容器 2.1 IDEA工具里面搞定微服务jar包

2.2 编写Dockerfile

Dockerfile内容如下:

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

将微服务jar包和Dockerfile文件上传到同一个目录下 /mydocker

2.3 构建镜像
docker build -t xtt_docker:1.6 .

2.4 查看构建的镜像
docker images

2.5 运行容器
docker run -d -p 6001:6001 xtt_docker:1.6

2.6 访问测试

没有任何的问题,这里只是简单测试下单个服务模块怎样打包,后面将会使用容器编排一次性打包一堆微服务。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/708726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号