2017-10-19 41 views
0

Je veux juste démarrer un simple conteneur docker tomcat et y monter mon fichier de guerre.
commande:
docker run --name tomcat_server -p 8080:8080 -p 8009:8009 \
-v /c:/p/webapps/sample-webapp.war:/usr/local/tomcat/webapps/sample-webapp.war \
-d tomcat:8

mais je reçois toujours une erreur 404:
Pourquoi mon conteneur docker Tomcat ne déploie-t-il pas la webapp?

The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.


après que le récipient est démarré et je saute dedans avec docker exec et je ne trouvé le fichier de guerre sample-webapp.jar mais pas le dossier /sample-webapp (comme il est sur mon "vrai local" tomcat)

docker tomcat dossier webapps:

drwxr-x--- 3 root root 4096 Oct 10 08:42 ROOT
drwxr-x--- 14 root root 4096 Oct 10 08:42 docs
drwxr-x--- 6 root root 4096 Oct 10 08:42 examples
drwxr-x--- 5 root root 4096 Oct 10 08:42 host-manager
drwxr-x--- 5 root root 4096 Oct 10 08:42 manager
drwxr-xr-x 2 root root 40 Oct 19 10:55 sample-webapp.war


pourquoi ne déploie pas tomcat ce fichier de guerre?

Merci beaucoup!

Répondre

1

Pour les volumes sous Windows, utilisez soit

-v C:/my/local/path:/my/container/path

ou

-v /c/my/local/path:/my/container/path

Et vous avez aussi pour permettre à votre C: lecteur à partager avec Docker dans vos paramètres de Docker: Docker settings

+0

je vous remercie pour vous r aide! c'est un volume sous windows, j'ai donc besoin de ':'. la monture elle-même a fonctionné parce que j'ai obtenu le dossier de guerre dans le conteneur, mais le conteneur n'a pas créé le nouveau dossier pour l'application. J'ai identifié un problème de docker habituel avec des volumes de montage. Je ne sais pas pourquoi cela apparaît parfois. Je viens de retirer tous mes conteneurs, puis remis docker aux paramètres d'usine par défaut et maintenant cela fonctionne. :( – m1well