org.apache.http.NoHttpResponseException: localhost: 2377 не удалось ответить - PullRequest
0 голосов
/ 22 сентября 2019

Ошибка:

Failed to execute goal com.spotify:docker-maven-plugin:1.0.0:build (default-cli) on project Bookstore: Exception caught: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: org.apache.http.NoHttpResponseException: localhost:2377 failed to respond 

DockerFile:

FROM tomcat:8-alpine
EXPOSE 2377:8080
ADD /WebContent/WEB-INF/web.xml /usr/local/tomcat/conf/
VOLUEME /tmp/webappdata/
COPY /target/Bookstore-1.war /usr/local/tomcat/webapps/
RUN sh -c 'touch /usr/local/tomcat/webapps/Bookstore-1.war'
ENTRYPOINT ["sh", "-c" , "java -Djava.security.edg=file:/dev/./urandom -jar /usr/local/tomcat/webapps/Bookstore-1.war]

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>net.codejava.javaee.bookstore</groupId>
  <artifactId>Bookstore</artifactId>
  <version>1</version>
  <packaging>war</packaging>

    <properties>
    <docker.image.prefix>alesblaze</docker.image.prefix>
    </properties>

    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.30</version>
        </dependency>
    </dependencies>  

  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
        <finalName>BookStore</finalName>
          <warSourceDirectory>WebContent</warSourceDirectory>
          <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
      </plugin>

      <plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>1.0.0</version>
    <configuration>
    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
    <dockerDirectory>Docker</dockerDirectory>
    <dockerHost>http://localhost:2377</dockerHost>
    <forceTags>true</forceTags>
    <imageTags>
    <imageTag>${project.version}</imageTag>
    <imageTag>latest</imageTag>
    </imageTags>
    <serverId>docker-hub</serverId>
    <registryUrl>http://hub.docker.com/</registryUrl>
    <resources>
    <resource>
    <targetPath>/</targetPath>
    <directory>${project.build.directory}</directory>
    <include>${project.build.finalName}.war</include>
    </resource>
    </resources>
    </configuration>
<!--    <executions> -->
<!--    <execution> -->
<!--    <phase>package</phase> -->
<!--    <goals> -->
<!--    <goal>build</goal> -->
<!--    </goals> -->
<!--    </execution> -->
<!--    </executions> -->
</plugin>

    </plugins>
  </build>

</project>

Может кто-нибудь объяснить мне, что здесь происходит и какрешить ее?

Я пытаюсь развернуть пример веб-приложения java в контейнере под управлением Tomcat, и я использую maven для создания файла войны, но когда я запускаю mvn clean package docker:build (я использую mavenплагин spotify для сборки dockerfile)

На этапе сборки он показывает исключение NoHttpResponseException, что происходит за кулисами?

1 Ответ

0 голосов
/ 22 сентября 2019

Попробуйте порт 8080, обычно это порт по умолчанию для localhost.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...