2016-10-03 1 views
0

MacでMavenスプリングブートプロジェクトのDockerイメージを構築しようとしています。ここでMavenがMac上でDockerデーモンと通信するための適切な設定は何ですか?

は私のビルドセクションです:

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-maven-plugin</artifactId> 
      <executions> 
        <execution> 
         <goals> 
          <goal>repackage</goal> 
         </goals> 
        </execution> 
      </executions> 
     </plugin> 
     <plugin> 
    <groupId>com.spotify</groupId> 
    <artifactId>docker-maven-plugin</artifactId> 
     <configuration> 
        <imageName>${docker.image.prefix}/${project.artifactId}</imageName> 
        <dockerDirectory>src/main/docker</dockerDirectory> 
        <resources> 
         <resource> 
          <targetPath>/</targetPath> 
          <directory>${project.build.directory}</directory> 
          <include>${project.build.finalName}.jar</include> 
         </resource> 
        </resources> 
       </configuration> 
    <executions> 
    <execution> 
     <id>build-image</id> 
     <phase>package</phase> 
     <goals> 
     <goal>build</goal> 
     </goals> 
    </execution> 
    <execution> 
     <id>tag-image</id> 
     <phase>package</phase> 
     <goals> 
     <goal>tag</goal> 
     </goals> 
     <configuration> 
     <image>my-image</image> 
     <newName>registry.example.com/my-image</newName> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 
    </plugins> 
    </build> 

私は、このコマンドを実行すると:mvn -X package docker:build

は、私はこのエラーを取得する:ここで

[ERROR] Failed to execute goal 
com.spotify:docker-maven-plugin:0.4.13:build (build-image) 
on project Spring-Boot-ReceiverAPI: Exception caught: 
Request error: 
POST unix://localhost:80/build?t=uptake/Spring-Boot-ReceiverAPI: 500: HTTP 500 Internal Server Error -> [Help 1] 

は私DOCKER_HOSTです:

echo $DOCKER_HOST 
unix:///private/var/run/docker.sock 

その他のすべてのドッキングウィンドウのコマンドは正常に実行します。

docker images 
REPOSITORY     TAG     IMAGE ID   CREATED    SIZE 
<none>      <none>    384ed96af950  4 hours ago   640.9 MB 
java       8     96cddf5ae9f1  10 days ago   640.9 MB 
containersol/minimesos-cli 0.10.2    0f8fd0fee007  8 weeks ago   133.7 MB 

ドッカーデーモンが明確に実行されている、とDOCKER_HOSTの値が正常ドッカーコマンドで正常に動作するappers。

ドッカーをMacで動作させるにはどうすればよいですか?

+0

https://github.com/spotify/docker-:

<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> <executions> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> <execution> <id>tag-image</id> <phase>package</phase> <goals> <goal>tag</goal> </goals> <configuration> <image>api</image> <newName>registry.example.com/api</newName> </configuration> </execution> </executions> </plugin> </plugins> <resources> <resource> <directory>${basedir}/src/main/docker</directory> <filtering>true</filtering> <includes> <include>Dockerfile</include> </includes> </resource> </resources> </build> 

そしてここでは、通常のユーザーアカウントで細かい実行するコマンドであり、 maven-plugin/issues/218 – Matt

+0

'docker-client'が更新された場合、あるいは' DOCKER_HOST = unix:/// var/run/docker.sock'が設定されている場合は何もせずに動作するようです。 Maven環境で 'DOCKER_HOST'をどのように設定していますか? – Matt

+0

Maven環境でDOCKER_HOSTを設定する方法がわかりません。それはPOMのいくつかのキーを介して行われますか? –

答えて

1

通常のユーザーアカウントでsudoを使用せずにdockerコマンドを実行できるようにすることで、この問題を解決しました。ここ はPOMのビルドセクションです:

mvn -X package docker:build 
関連する問題