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

KUKJIN LEE • 6일 전 작성
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
를 컨테이너의 Tomcatwebapps
디렉터리에 연결합니다. -
여기에서
.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
컨테이너의 로그 파일을 로컬 디렉터리에 저장