J'ai essayé de copier des fichiers de ma machine Windows vers le conteneur Docker à l'aide de la commande de fichier Docker et de lire ces fichiers à partir du service Web Spring. Webservice lance un fichier d'erreur introuvable!
Ici, j'essaye de copier mon répertoire local src / nlp vers / data container directoty
ci-dessous se trouve le volume de docker disponible
java.io.FileNotFoundException: /data/train/models/en/token/en-token.bin (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.<init>(FileInputStream.java:138)
InputStream inputStream = new FileInputStream(environment.getProperty("nlp.learning.dir")+ "/train/models/en/token/en-token.bin");
Java
server.port=8080 logging.level.radial.nlp=DEBUG logging.file = mylogfile.log nlp.learning.dir = /data/
FROM openjdk:8-jdk-alpine EXPOSE 8080 ARG JAR_FILE=/target/nlp-0.0.1-SNAPSHOT.jar ADD ${JAR_FILE} nlp-0.0.1-SNAPSHOT.jar ADD src/nlp /data ENTRYPOINT ["java","-jar", "nlp-0.0.1-SNAPSHOT.jar"]`
3 Réponses :
Veuillez noter une barre oblique supplémentaire dans votre chemin avant le répertoire train
/data//train/models/en/token/en-token.bin
Pensez à changer la ligne de lecture en:
InputStream inputStream = new FileInputStream (environment.getProperty ("nlp.learning.dir") + "train / models / en / token / en-token.bin");
J'ai modifié l'erreur maintenant, c'était une faute de frappe désolé pour cela .. pouvez-vous vérifier à nouveau maintenant? ce n'est pas lié à une barre oblique supplémentaire je crois
essayez d'ajouter RUN ls / data / train / models / en / token
ou RUN cat /data/train/models/en/token/en-token.bin
à votre Dockerfile après avoir ajouté des ressources. Quelle est la sortie lorsque vous créez une image?
Il doit contenir le nom du fichier / le contenu du fichier
Vous n'avez probablement pas de fichier src / nlp / train / models / en / token / en-token.bin
du même répertoire que celui à partir duquel vous construisez votre conteneur.
parent/ âââ Dockerfile âââ src/ âââ nlp/ âââ train/ âââ models/ âââ en/ âââ token/ âââ en-token.bin <--- does this exist?
J'ai modifié ma dépendance au plugin maven, maintenant cela fonctionne correctement
<plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.4.7</version> <!-- Wire up to the default build phases --> <executions> <execution> <id>default</id> <goals> <goal>build</goal> <goal>push</goal> </goals> </execution> </executions> <configuration> <repository>${project.artifactId}</repository> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration>