4.docker-maven-plugin

3738 ワード

前の2つの文章で2.Docker-resigtry 2と3.SpringCloud-Eureka-Dockerに基づいて構成します.
例はcomを用いる.spotifyのmavenプラグインは、io.fabric 3のmavenプラグイン.
1.pomファイルへのプラグインの構成
1.1変数の定義
hostsファイルを構成し、59.110を追加します.14.120 docker.registry.server


docker.registry.server:5000


1.2プラグインの構成


com.spotify

docker-maven-plugin

3.7.0





docker.registry.server



${docker.registry.server}/${project.artifactId}











openjdk:8u131-jdk-alpine

["java", "-jar", "/${project.build.finalName}.jar"]





/

${project.build.directory}

${project.build.finalName}.jar













build-image

package



build







tag-image

package



tag





${docker.registry.server}/${project.artifactId}

${docker.registry.server}/${project.artifactId}








1.3 setting.xml構成


docker.registry.server

gaojingyuan

testpwd



[email protected]




2.イメージを梱包してプッシュする
mvn clean package -DpushImage
3.サーバーがサービスをダウンロードして起動する
私服登録
docker login docker.registry.server:5000
ミラーのダウンロード
docker pull docker.registry.server:5000/eurekaserverdocker
サービスの開始
docker stack deploy -c docker-compose.yml eurekaserverdocker
サービスの停止
docker stack rm eurekaserverdocker
よくあるエラー:
1.mvn clean package-DpushImage 5回retryを実行してエラーを報告する:
Failed to push docker.registry.server:5000/eurekaserverdocker, retrying in 10 seconds (5/5).

com.spotify.docker.client.exceptions.DockerException: no basic auth credentials
解決方法:
vimを構成する必要があります.docker/config.json
「docker.registry.server:5000」:{},を「https://docker.registry.server:5000": {},
"auths": {

"https://docker.registry.server:5000": {},

"https://index.docker.io/v1/": {}

},
https://github.com/spotify/docker-client/issues/804
2.mvn clean package-DpushImageエラーメッセージの実行:
Failed to execute goal com.spotify:docker-maven-plugin:1.0.0:tag (tag-image) on project eurekaserverdocker: Exception caught: Image not found: eurekaserverdocker: Request error: POST unix://localhost:80/images/eurekaserverdocker/tag?repo=docker.registry.server%3A5000%2Feurekaserverdocker: 404, body: {"message":"No such image: eurekaserverdocker:latest"}: HTTP 404 Not Found -> [Help 1]
解決方法:


tag-image

package



tag





${docker.registry.server}/${project.artifactId}

${docker.registry.server}/${project.artifactId}




リファレンス
https://github.com/spotify/docker-maven-plugin
https://www.jianshu.com/p/3b91b8958c3e