springboot中的dockerfile使用
環境
MAC
Centos7
JDK8
SpringBoot
Dockerfile
一、創建springboot項目
上面是springboot的項目結構。
選擇Initalizr Service URL
- 創建springboot項目的時候,選擇https://start.aliyun.com,速度比默認的快好幾倍。
- https://start.spring.io/
- https://start.aliyun.com
二、創建Dockerfile文件
Dockerfile內容如下:
# 該鏡像需要依賴的基礎鏡像 FROM lhl-docker-java8:1.0 # 將targer目錄下的jar包復制到docker容器/home/springboot目錄下面目錄下面 ADD ./target/springboot-dockerfile-0.0.1-SNAPSHOT.jar /home/springboot/springboot-dockerfile.jar # 聲明服務運行在8080端口 EXPOSE 8080 # 執行命令 CMD ["java","-jar","/home/springboot/springboot-dockerfile.jar"] # 指定維護者名稱 MAINTAINER Mirror [email protected]
三、Springboot用maven打包
用maven install命令打包
會在target目錄下生成jar包
遇到的坑
java -jar 命令啟動項目的時候,提示找不到主文件
解決辦法
pom.xml中添加如下配置,如果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> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
四、制作Docker鏡像
在IDEA的Terminal中,執行如下命令:
docker build -t lhl-springboot-docker:1.0 .
出現如上圖結果,表示鏡像創建成功瞭。可以用docker images命令查看
五、創建Docker容器並啟動
執行如下命令:
docker run -dp 80:8080 --name lhl-springboot-env lhl-springboot-docker:1.1
用我們剛才創建的鏡像,創建名字叫lhl-springboot-env的容器,並啟動
六、檢驗結果
在瀏覽器中輸入localhost
成功,我通過主機的80端口,訪問六容器裡面的8080端口。
七、總結
lhl-docker-java8:1.0,這個鏡像是我上篇文章做的基礎Java環境鏡像
在制作的過程中,遇到瞭springboot找不到主文件的問題,查看瞭網上那麼多資料,隻想說一句,寫文章不是拷貝別人,要自己實踐一下,通過瞭沒問題瞭,在發表。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- idea集合docker實現鏡像打包一鍵部署
- Docker部署SpringBoot應用的實現步驟
- IDEA使用Docker插件(菜鳥教程)
- IDEA 配合 Dockerfile 部署 SpringBoot 工程的註意事項
- idea整合docker快速部署springboot應用的詳細過程