-
Docker - 톰캣 오류로 인한 실행불가 상태에서 컨테이너 수정하기웹프로그래밍/Docker , CI&CD 2019. 1. 13. 13:58
톰캣 이미지가 설치된 컨테이너를 run으로 실행할 경우
docker run --name tomcat8 -i -t -d -p 8088:8080 tomcat-set1
톰캣이 자동으로 실행되면서 발생한 오류로 Docker 컨테이너가 실행되지 않았다.
아래 명령어로 컨테이너 에러 로그를 열어 보았고
docker logs -t CONTAINER ID
원인은 톰캣 실행시 server.xml에 설정한 경로가 존재하지 않아서 였다.
server.xml을 수정해야 하는데 컨테이너 자체가 실행되지 않기 때문에 방법을 고민하다가 결국 구글에 검색해보니 스택오버플로우의 <how-to-edit-files-in-stopped-not-starting-docker-container> 이 글의 답변 중 적절한 해결 방법을 찾았다.
해결방법
컨테이너는 정지 상태에 있지만 안에 있는 파일을 호스트OS로 복사할 수 있었다.
파일을 복사해와서 안에 있는 설정 파일을 수정 후 다시 붙여 넣으면 된다.
1. 컨테이너 ID 확인 후 호스트OS로 파일 복사
docker ps -a
docker cp CONTAINERID:/컨테이너 내부 경로 /호스트OS 경로
ex)
docker cp CONTAINERID:/usr/local/tomcat/ /home/ubuntu
2. 파일 수정 후 다시 붙여 넣기
호스트OS -> 컨테이너 내부 경로로 파일 복사
아래 코드에서 tomcat 폴더는 현재 경로(/home/ubuntu)에 위치해 있다. 그리고 tomcat 폴더를 덮어씌우기 때문에
컨테이너 경로가 위와는 다르다.
docker cp tomcat/ CONTAINERID:/usr/local/
3. 실행 여부 확인docker start -i CONTAINERID
실행이 잘되면 컨테이너를 이미지로 만든 후 다시 docker run하면 된다.
docker commit <CONTAINERNAME> <NEWIMAGENAME>
'웹프로그래밍 > Docker , CI&CD' 카테고리의 다른 글
AWS EC2 우분투에서 Docker 톰캣8.5 설치 및 세팅 (1) 2019.01.11 Failed to deploy - 젠킨스 톰캣 서버 배포 중 err_connection_reset (0) 2019.01.10 젠킨스 빌드 도중 Cannot run program "mvn" error=2, No such file or directory (0) 2019.01.10 Docker 가상환경에서 스프링 maven프로젝트 jenkins/tomcat 자동배포 구성 (2) 2019.01.07 윈도우에서 Docker 시작하기 (0) 2019.01.05