Docker容器 - DockerFile发布Java微服务并部署到Docker容器

目录

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

一、新建项目

二、POM 

三、YML 

四、启动类

五、Controller类

启动

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

一、通过idea生成一个jar包

二、编写Dockerfile

三、构建镜像

四、运行容器 

五、访问测试


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

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

一、新建项目

Docker容器 - DockerFile发布Java微服务并部署到Docker容器_第1张图片


二、POM 



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.7.2
         
    
    com.example
    docker
    0.0.1-SNAPSHOT
    docker
    docker
    
        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
                
                    
                        
                            org.projectlombok
                            lombok
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-resources-plugin
                3.1.0
            
        
    



三、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();
    }
}

启动

看看能否正常运行

Docker容器 - DockerFile发布Java微服务并部署到Docker容器_第2张图片

Docker容器 - DockerFile发布Java微服务并部署到Docker容器_第3张图片

Docker容器 - DockerFile发布Java微服务并部署到Docker容器_第4张图片

成功启动并拿到数据!


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

一、通过idea生成一个jar包

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

Docker容器 - DockerFile发布Java微服务并部署到Docker容器_第5张图片

查看其地址位置 

Docker容器 - DockerFile发布Java微服务并部署到Docker容器_第6张图片

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

Docker容器 - DockerFile发布Java微服务并部署到Docker容器_第7张图片

在宿主机中查看一下:

ls /mydocker


二、编写Dockerfile

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

vim Dockerfile

将以下内容复制进去: 

FROM java:8
# 基础镜像使用java

MAINTAINER van
# 作者

VOLUME /tmp
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp

ADD docker-0.0.1-SNAPSHOT.jar van_docker.jar
# 将jar包添加到容器中并更名为van_docker.jar

RUN bash -c 'touch /van_docker.jar'
# 运行jar包

ENTRYPOINT ["java","-jar","/van_docker.jar"]

EXPOSE 6001
#暴露6001端口作为微服务

三、构建镜像

这里注意空格和点:

docker build -t van_docker:1.6 .

Docker容器 - DockerFile发布Java微服务并部署到Docker容器_第8张图片

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

docker images

Docker容器 - DockerFile发布Java微服务并部署到Docker容器_第9张图片


四、运行容器 

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

docker run -d -p 6001:6001 1de5bcb75c65


五、访问测试

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

Docker容器 - DockerFile发布Java微服务并部署到Docker容器_第10张图片

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

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

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

你可能感兴趣的:(Docker,Linux,Java,docker,微服务,容器,java,服务器)