GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Dockerコンテナ内でプログラムを実行する方法は?

このように実行されるDockerコンテナを使用してERDDAPというアプリケーションを実行しています:

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

このアプリケーションはdatasets.xmlを読み取ります GenerateDatasetsXmlというアプリケーションによって生成されることになっているファイル これはコンテナ内にあります:
http://coastwatch.pfeg.noaa.gov/erddap/download/setupDatasetsXml.html#GenerateDatasetsXml

では、Dockerコンテナ内にあるこのプログラムを実行して、datasets.xmlを生成するにはどうすればよいですか。 ファイル?

承認された回答:

Dockerコンテナ内でシェルコマンドを実行するには、次のコマンドを実行します。

$ docker exec -it erddap bash

これにより、/ opt/tomcatのDockerコンテナに移動します。コマンドプロンプトは次のようになります

[email protected]:/opt/tomcat# 

まず、erddapDataフォルダーが/ erddapDataにあることを確認してから、次のコマンドを実行します。

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

これにより、GenerateDatasetsXmlスクリプトが開始されます。すべての質問に答えたら、次を使用してコンテナから出ることができます:

exit

このスクリプトからの出力は、ローカルのerddapDataディレクトリにあります:

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

出力をdatasets.xmlドキュメントの必要な場所にコピーできます。このドキュメントは、/ usr / local / erddap /

に保存する必要があります。
Docker
  1. Dockerコンテナ内でアプリケーションをインストール、実行、削除する方法–パート2

  2. docker は Linux コンテナー内で実行できますか?

  3. Dockerコンテナで実行されるプログラムにシグナルを送信するには?

  1. 実行中のDockerコンテナでコマンドを実行する方法

  2. ユーザーを Docker コンテナに追加するにはどうすればよいですか?

  3. docker コンテナ内で cron ジョブを実行する方法

  1. 実行中のSystemdコンテナ内でコマンドを実行する方法は?

  2. DockerコンテナでMySQLを実行する方法

  3. Dockerコンテナに静的IPを割り当てる方法