GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Jak spustit program uvnitř kontejneru Docker?

Spouštím aplikaci s názvem ERDDAP pomocí tohoto kontejneru Docker spuštěného takto:

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

Tato aplikace čte datasets.xml soubor, který má být vygenerován aplikací s názvem GenerateDatasetsXml který je uvnitř kontejneru:
http://coastwatch.pfeg.noaa.gov/erddap/download/setupDatasetsXml.html#GenerateDatasetsXml

Jak tedy mohu spustit tento program, který je uvnitř kontejneru Docker, aby se vygeneroval můj datasets.xml soubor?

Přijatá odpověď:

Chcete-li spustit příkazy prostředí uvnitř kontejneru dockeru, spusťte:

$ docker exec -it erddap bash

Tím se dostanete do kontejneru docker na /opt/tomcat. Váš příkazový řádek bude vypadat takto

[email protected]:/opt/tomcat# 

Nejprve ověřte, že se vaše složka erddapData nachází na /erddapData, a poté spusťte:

cd /opt/tomcat/webapps/erddap/WEB-INF/
bash GenerateDatasetsXml.sh 

Tím se spustí skript GenerateDatasetsXml. Po zodpovězení všech otázek se můžete dostat z kontejneru pomocí:

exit

Výstup z tohoto skriptu je ve vašem místním adresáři erddapData:

$ cd /usr/local/erddapData/logs/
$ cat GenerateDatasetsXml.out

Výstup můžete zkopírovat na požadované místo v dokumentu datasets.xml, který byste měli uložit do /usr/local/erddap/


Docker
  1. Může docker běžet uvnitř linuxového kontejneru?

  2. Jak poslat signál ke spuštění programu v kontejneru dockeru?

  3. Jak přidat uživatele do kontejneru Docker?

  1. Jak spustit MySQL v kontejneru Docker

  2. Jak SSH do kontejneru Docker

  3. Jak spustit úlohu cron uvnitř kontejneru dockeru

  1. Jak spustit příkaz uvnitř spuštěného kontejneru Systemd?

  2. Jak spustit příkaz na spuštěném kontejneru Docker

  3. Jak přiřadit statickou IP ke kontejneru Docker