软件开发架构师

docker 学习(四) springboot + docker

架构 57 2019-03-22 22:47

 下面演示: 在Windows上新建一个简单的Springboot工程,生成docker iamge,然后在本地的docker上运行:

        (1):登录到 https://start.spring.io/, 建一个简单的工程:

 (2)修改springboot工程:

         添加一个controller:

package com.example.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoController {
    @RequestMapping(value="/phone")
    public String index(){
        return "Hello World!";
    }
}

   在POm.xml文件上加入如下plugin:

docker-maven-plugin: 用来将maven项目打包成docker镜像。
    <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.13</version>
                <configuration>
                    <!-- 注意imageName一定要是符合正则[a-z0-9-_.]的,否则构建不会成功 -->
                    <!-- 详见:https://github.com/spotify/docker-maven-plugin    Invalid repository name ... only [a-z0-9-_.] are allowed-->
                    <imageName>springbootdemo</imageName>
                    <baseImage>java</baseImage>
                    <!--<dockerHost>http://localhost:2375</dockerHost>-->
                    <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>

(3)配置环境变量:指定生成的docker镜像要放到哪个安装有docker的主机上:这里是用的本地的:

(4)docker 要开启: tcp://localhost:2375端口

(5)maven中生成docker镜像:

                 mvn clean package docker:build

(6)  docker查看镜像: docker中可以查看到我们生成的镜像了

(7)启动容器:

           $ docker run -p 8080:8080 springbootdemo:latest

(8)可以访问了。

 

           

 

         

   

 

    

 

文章评论