今天在部署的時候遇到點問題,總結一下,docker部署的步驟,如果對您有幫助,關注一下,就是對我最大的肯定, 謝謝!
微服務部署有兩種方法:
(1)手動部署:首先基於源碼打包生成jar包(或war包),將jar包(或war包)上傳至虛
擬機並拷貝至JDK容器。
(2)通過Maven插件自動部署。
對於數量眾多的微服務,手動部署無疑是非常麻煩的做法,並且容易出錯。所以我們這里學習如何自動部署,這也是企業實際開發中經常使用的方法。
docker-maven-plugin的Github坐標:docker-maven-plugin
Maven插件自動部署步驟:
(1)修改宿主機的docker配置,讓其可以遠程訪問
默認,我們的linux的 docker ,IDEA 是不可以訪問的,所以需要修改下配置,讓我們的IDEA 可以訪問
vi /lib/systemd/system/docker.service
在 其中的ExecStart=后添加配置
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
修改后如下內容:

(2)刷新配置,重啟服務
systemctl daemon‐reload # 刷新服務
systemctl restart docker # 重新啟動docker
docker start registry # 啟動registry
(3) 在項目中增加插件配置
<build>
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker的maven插件,官網: https://github.com/spotify/docker-maven-plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<imageName>192.168.100.128:5000/${project.artifactId}:${project.version}</imageName>
<baseImage>jdk1.8</baseImage>
<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>
<dockerHost>http://192.168.100.128:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>
以上配置會自動生成Dockerfile
用法
通過運行此命令來使用上述配置構建映像。
mvn clean package docker:build
打包和上傳鏡像
mvn clean package docker:build -DpushImage
要僅將特定標記推送到注冊表,指定請pushImageTag標記。
mvn clean package docker:build -DpushImageTag
執行打包和上傳鏡像后,會有如下輸出,代碼正在上傳

瀏覽器訪問 http://192.168.184.135:5000/v2/_catalog輸出
{"repositories":["打包的項目名稱"]}
進入宿主機 , 查看鏡像,就會顯示,上傳的鏡像了
docker images
