Tôi rất mới với Docker
và fabric8io docker-maven-plugin
. Tôi đang gặp phải một số thời điểm khó khăn để triển khai một chiến dịch .war vào hình ảnh của tôi được bắt nguồn từ số jboss/wildfly
. Tôi có thể xây dựng thành công hình ảnh của mình được chuyển bằng .war bằng dòng lệnh nhưng tôi không thể thực hiện tương tự bằng plugin đã đề cập. Theo như tôi đọc, một khi bạn bối cảnh phải cho đi và Dockerfile
nó phải chỉ là vấn đề:Triển khai một .war vào hình ảnh Docker bởi fabric8io docker-maven-plugin
<build>
<finalName>${project.build.finalName}.${project.packaging}</finalName>
...
<assembly>
<descriptorRef>artifact</descriptorRef>
</assembly>
</build>
nhưng tôi gettin lỗi này:
[INFO] <<< docker-maven-plugin:0.19.0:build (default-cli) < package @ YoOffer <<<
[INFO]
[INFO] --- docker-maven-plugin:0.19.0:build (default-cli) @ YoOffer ---
[WARNING] Cannot include project artifact: edu.pezzati.yo:YoOffer:war:0.0.1-SNAPSHOT; it doesn't have an associated file or directory.
[WARNING] The following patterns were never triggered in this artifact inclusion filter:
o 'edu.pezzati.yo:YoOffer'
[ERROR] DOCKER> Failed to create assembly for docker image (with mode 'dir'): Error creating assembly archive docker: You must set at least one file.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
Here là sandbox của tôi.
CẬP NHẬT: Tôi làm sạch một số mớ hỗn độn trong pom của tôi. Bây giờ nó trông như thế này:
<images>
<image>
<alias>yowildfly</alias>
<name>jboss/wildfly</name>
<build>
<!--
<assembly>
<descriptorRef>${project.basedir}/src/test/resources/DOCKER/assembly.xml</descriptorRef>
</assembly>
-->
<args>
<webapp>target/${project.build.finalName}.${project.packaging}</webapp>
</args>
<dockerFileDir>${project.basedir}</dockerFileDir>
<dockerFile>src/test/resources/DOCKER/wildfly/Dockerfile</dockerFile>
</build>
<run>
<ports>
<port>8080:8080</port>
</ports>
</run>
</image>
...
</images>
Bây giờ tôi nhận được lỗi này:
...
[ERROR] DOCKER> Unable to build image [jboss/wildfly]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.769 s
[INFO] Finished at: 2017-02-12T01:19:57+01:00
[INFO] Final Memory: 36M/271M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.19.0:build (default-cli) on project YoOffer: Unable to build image [jboss/wildfly]: lstat target/YoOffer.war: no such file or directory -> [Help 1]
[ERROR]
...
Theo đó để tài liệu, dockerFileDir
sử dụng cùng với dockerFile
nên đánh dấu hình ảnh xây dựng bối cảnh.