1. 程式人生 > 實用技巧 >釋出SpringBoot專案到Docker容器

釋出SpringBoot專案到Docker容器

1、新建SpringBoot專案,這裡只選擇一個Web依賴

2、修改pom.xml

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
          //如果沒有需要加上,不然打出來的jar會很小,執行報錯,沒有主清單。。 <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>

3、新增一個controller,

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "hello";
    }
    @GetMapping("/")
    public String index() {
        return "hello,index";
    }
}

4、點選idea右側的maven-->Lifecycle中的package ,或者直接在idea底部控制檯Terminal中執行命令mvn package

5、可以在專案的target目錄下看到生成的jar。可以執行jave -jar xxx.jar測試看下。

6、在專案根目錄下新建檔案Dockerfile,內容如下:

FROM java:8
COPY *.jar /app.jar

CMD ["----server port :8080----"]
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]

7、使用附件上傳工具(SSH或Xftp)把生成的jar和編寫的Dockerfile檔案上傳至linux伺服器自定義的路徑下。

8、執行構建命令

docker build -t helloweb .

9、docker images檢視構建成功的映象。

10、docker run -d -p 8080:8080 --name myweb helloweb

11、測試執行是否正常。 curl localhost:8080。