Docker에서 Tomcat 컨테이너 설정 및 실행

KUKJIN LEE's profile picture

KUKJIN LEE1주 전 작성

Tomcat 이미지 다운로드

Tomcat 이미지를 Docker Hub에서 다운로드합니다. 최신 버전 또는 원하는 버전을 지정할 수 있습니다.

docker pull tomcat:latest
  • tomcat:latest: Tomcat의 최신 버전을 다운로드합니다.

  • 특정 버전을 원할 경우 tomcat:<버전> 형식으로 지정 가능합니다 (예: tomcat:9.0).

이미지 다운로드 후 로컬 이미지 목록에서 확인

docker images

Tomcat 컨테이너 실행

해당 게시글은 컨테이너 실행까지만 진행하고 넘어가셔도 충분합니다.

compose에서 추가로 내용 작성할 예정입니다. Docker Tomcat은 이렇게 실행시키고, 설정하면 된다~ 정도로 가볍게 읽고 넘어가시는 걸 추천드립니다.

 

기본 실행 명령어

Tomcat 컨테이너를 생성하고 실행합니다.

docker run -d --name my-tomcat \
-p 8080:8080 \
tomcat:latest

옵션 설명

  • -d: 컨테이너를 백그라운드에서 실행합니다.

  • --name my-tomcat: 컨테이너 이름을 my-tomcat으로 지정합니다.

  • -p 8080:8080: 로컬 호스트의 8080 포트를 컨테이너의 8080 포트에 연결합니다.

  • tomcat:latest: 사용할 Tomcat 이미지 이름과 태그를 지정합니다.

Tomcat 기본 페이지 확인

컨테이너 실행 후 브라우저에서 다음 URL로 접속

http://localhost:8080

Tomcat 기본 관리 페이지가 표시되면 설정이 완료된 것입니다.

Tomcat 환경 설정

Tomcat 컨테이너의 설정 파일을 수정하거나 웹 애플리케이션을 배포하려면 설정이 필요합니다.

(추가 옵션 설정이 필요 없는 경우 선택 사항에 가깝습니다.)

웹 애플리케이션 배포

로컬 디렉터리를 컨테이너의 Tomcat webapps 디렉터리에 마운트하여 애플리케이션을 배포합니다

docker run -d --name my-tomcat \
-p 8080:8080 \
-v $(pwd)/webapps:/usr/local/tomcat/webapps \
tomcat:latest

옵션 설명

  • -v $(pwd)/webapps:/usr/local/tomcat/webapps

    • 로컬 디렉터리 webapps를 컨테이너의 Tomcat webapps 디렉터리에 연결합니다.

    • 여기에서 .war 파일을 배포하면 Tomcat이 자동으로 로드합니다.

3.2 Tomcat 설정 파일 접근

  • Tomcat 설정 파일(server.xml 등)을 수정하려면 다음 디렉터리를 마운트합니다

-v $(pwd)/config:/usr/local/tomcat/conf
  • 로컬에서 설정 파일을 준비한 후 컨테이너에 연결하면 쉽게 수정 가능합니다.

Tomcat 사용자 설정 (선택 사항)

Tomcat 관리자 계정을 설정하려면 tomcat-users.xml 파일을 수정해야 합니다. 이 파일을 로컬에서 생성 후 컨테이너에 마운트하여 설정할 수 있습니다.

tomcat-users.xml 예시

<tomcat-users>
  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/>
  <user username="admin" password="admin_password" roles="manager-gui,admin-gui"/>
</tomcat-users>

실행 시 마운트

docker run -d --name my-tomcat \
-p 8080:8080 \
-v $(pwd)/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml \
tomcat:latest

데이터 볼륨 설정 (선택 사항)

Tomcat 로그나 기타 데이터를 호스트에 저장하려면 볼륨을 설정합니다.

로그 파일 마운트

-v $(pwd)/logs:/usr/local/tomcat/logs

컨테이너의 로그 파일을 로컬 디렉터리에 저장

New Tech Posts