인프런 커뮤니티 질문&답변

kevin.park님의 프로필 이미지
kevin.park

작성한 질문수

Jenkins를 이용한 CI/CD Pipeline 구축

CI/CD 작업을 위한 Tomcat 서버 연동

도커로 서비스를 올렸을 때 오류가 발생합니다.

작성

·

884

1

저는 jenkins, tomcat 을 docker 컨테이너로 올려서 실습을 하고 있는데요..

tomcat 서버에 배포를 하려고 보면..
오류가 발생하고 있습니다.

아무래도 IP 설정이나 계정 정보가 잘못 되었을 거로 판단이 되는데..
docker 로 서비스를 구동한 경우에
tomcat IP를 어떤걸로 해야 하나요?

제 로컬PC의 IP 인지.. localhost 인지.. tomcat 컨테이너의 IP인지...

확인 부탁드립니다.

답변 2

1

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

Jenkins와 Tomcat이 모두 Docker로 기동되고 있다면, 같은 Docker network에서 기동되고 있다고 생각하시면 됩니다. Network 옵션을 따로 부여하지 않아도, default network에 묶이게 되며, 별도로 지정하여 사용하실 수도 있습니다. 같은 Docker network에 연결되어 있는 컨테이너들은 172.17.0.xxx 부여된 IP Address나 컨테이너 ID, 컨테이너명으로 호출하실 수 있습니다.

Tomcat 서버(Docker로 기동 된)를 어디에서 호출하는가에 따라서 호출하는 IP Address가 달라질 수 있습니다. Host PC에서 호출할 때는 localhost와 PORT(publish 된)를 이용하여 호출하시면 되고, Docker 컨테이너 안에서 다른 컨테이너를 호출하실 때는 위에서 말씀드린 172.17.0.xxx (docker inspect 명령어로 확인 가능) 또는 컨테이너명(ID)으로 호출하실 수 있습니다.

감사합니다.

0

좋은 강의 & 질문 감사합니다! 저도 같은 환경에서 실습하다 비슷한 오류가 생겨 답글 남기게 되었습니다 :)

도커 톰캣 이미지에선 webapps가 빈 폴더이고, webapps.dist에 강의에 나오는 파일들이 존재합니다. 그래서 빈 폴더인 webapps를 지우고 webapps.dist를 webapps로 폴더명을 바꾼 뒤 재시작하여 실습 진행하면 될 것 같습니다!

요한님께서 말씀해주신 내용도 좋은 방법이고

conf/server.xml 내용을 마운트하여

<Host name="localhost" appBase="webapps.dist"

unpackWARs="true" autoDeploy="true">

 

appBase 부분을 webapps -> webapps.dist 로 변경해도 될것 같습니다 !!

오오 더 세련된 방법이군요! 감사합니당 😊!

kevin.park님의 프로필 이미지
kevin.park

작성한 질문수

질문하기