Docker 컨테이너 내에서 프로그램을 실행하는 방법은 무엇입니까?

Docker 컨테이너 내에서 프로그램을 실행하는 방법은 무엇입니까?

나는라는 응용 프로그램을 실행하고 있습니다.ERDAP사용이 도커 컨테이너다음과 같이 실행하세요:

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다음 이름의 컨테이너 내에서 애플리케이션이 생성해야 하는 파일을 읽습니다.GenerateDatasetsXmlhttp://coastwatch.pfeg.noaa.gov/erddap/download/setupDatasetsXml.html#GenerateDatasetsXml

그렇다면 Docker 컨테이너 내에서 이 프로그램을 실행하여 datasets.xml파일을 생성하려면 어떻게 해야 할까요?

답변1

Docker 컨테이너 내에서 셸 명령을 실행하려면 다음을 실행하세요.

$ docker exec -it erddap bash

그러면 /opt/tomcat에 있는 Docker 컨테이너로 이동됩니다. 명령 프롬프트는 다음과 같습니다

root@d2adcc7db35a:/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

/usr/local/erddap/에 저장되어야 하는 Datasets.xml 문서에서 필요한 곳에 출력을 복사할 수 있습니다.

관련 정보