2016-10-03 4 views
1

Я стараюсь следовать учебному пособию о том, чтобы встать и работать с Docker, используя футляр для сапфира весны. У меня все установлено и можно запустить пример Hello World из Docker Hub.Изображение здания Docker из Spring Boot Jar

Я создал жира банку с использованием Maven называется predictive-text-tree-0.0.1-SNAPSHOT.jar и я использую следующие как мой dokerfile.docker:

FROM java:8 
MAINTAINER ltocode 
EXPOSE 8080 
ADD predictive-text-tree-0.0.1-SNAPSHOT.jar /data/predictive-text-tree-0.0.1-SNAPSHOT.jar 
CMD java -jar /data/textpredict.jar 

У меня есть баночку и файл Docker на сервере, и когда я бегу докер строить команду я получаю следующее:

~/сборка # докер построить -t предсказанием текст-дерево-0.0.1-SNAPSHOT.jar

недопустимый аргумент «предсказанием текст дерево-0.0.1 -SNAPSHOT.jar» для t: Ошибка синтаксического анализа: «predive-text-tree-0.0.1-SNAPSHOT.jar» не является допустимым репозиторием/тегом См. «сборка докеров» --help.

Как создать изображение докера из толстой банки?

ответ

2

Вы давали неправильный параметр в вашей команде сборки. -t, который используется для привязки полученного изображения. Это означает, что -t следует за именем изображения, но не файлом в jar. Вы можете найти более подробную информацию в docker build document.

0

Для более изящным способом: в прошлом, docker-maven-plugin работал лучше для меня, предварительный просмотр фильма здесь:

<plugin> 
    <groupId>com.spotify</groupId> 
    <artifactId>docker-maven-plugin</artifactId> 
    <version>VERSION GOES HERE</version> 
    <configuration> 
     <imageName>example</imageName> 
     <baseImage>java:8</baseImage> 
     <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"] </entryPoint> 
     <!-- copy the service's jar file from target into the root directory of the image --> 
     <resources> 
      <resource> 
       <targetPath>/</targetPath> 
       <directory>${project.build.directory}</directory> 
       <include>${project.build.finalName}.jar</include> 
      </resource> 
     </resources> 
    </configuration> 
</plugin> 

Помимо возможности построить его прямо с вашего проекта, его также можно нажать изображение непосредственно в реестре Docker:

mvn ... docker:build -DpushImageTags -DdockerImageTag=latest -DdockerImageTag=tag

Смежные вопросы