Ich führe eine Anwendung namens ERDDAP mit diesem Docker-Container aus, der folgendermaßen ausgeführt wird:
docker stop erddap
docker rm erddap
docker run -p 8090:8080 -p 8543:8443 -d -v /usr/local/erddap/tomcat-users.xml:/opt/tomcat/conf/tomcat-users.xml -v /usr/local/erddap:/opt/tomcat/content/erddap -v /usr/local/erddapData:/erddapData --name erddap axiom/docker-erddap
Diese Anwendung liest eine datasets.xml
Datei, die von einer Anwendung namens GenerateDatasetsXml
generiert werden soll das befindet sich im Container:
http://coastwatch.pfeg.noaa.gov/erddap/download/setupDatasetsXml.html#GenerateDatasetsXml
Wie kann ich also dieses Programm ausführen, das sich im Docker-Container befindet, um meine datasets.xml
zu generieren Datei?
Akzeptierte Antwort:
Um Shell-Befehle in Ihrem Docker-Container auszuführen, führen Sie Folgendes aus:
$ docker exec -it erddap bash
Dadurch gelangen Sie in den Docker-Container unter /opt/tomcat. Ihre Eingabeaufforderung sieht folgendermaßen aus
[email protected]:/opt/tomcat#
Stellen Sie zunächst sicher, dass sich Ihr erddapData-Ordner unter /erddapData befindet, und führen Sie dann Folgendes aus:
cd /opt/tomcat/webapps/erddap/WEB-INF/
bash GenerateDatasetsXml.sh
Dadurch wird das GenerateDatasetsXml-Skript gestartet. Wenn Sie alle Fragen beantwortet haben, können Sie den Container verlassen mit:
exit
Die Ausgabe dieses Skripts befindet sich in Ihrem lokalen erddapData-Verzeichnis:
$ cd /usr/local/erddapData/logs/
$ cat GenerateDatasetsXml.out
Sie können die Ausgabe an die Stelle kopieren, wo Sie sie in Ihrem datasets.xml-Dokument benötigen, das Sie unter /usr/local/erddap/
speichern sollten