[시놀로지 Docker] SSH로 Tomcat 컨테이너 내부 접근하기 - 실전 가이드
시놀로지 NAS에서 Docker로 구동 중인 Tomcat 컨테이너에 접근하는 방법을 단계별로 알아보겠습니다. SSH 접속부터 컨테이너 내부 파일 시스템 탐색까지, 실제 사례를 바탕으로 자세히 설명해 드리겠습니다.
1. 시놀로지 NAS에 SSH 접속하기
먼저 터미널(리눅스/맥) 또는 PuTTY(윈도우)를 사용하여 시놀로지 NAS에 SSH로 접속합니다:
ssh admin@192.168.1.100
여기서 'admin'은 시놀로지 계정명, '192.168.1.100'은 시놀로지 NAS의 IP 주소입니다. 접속 후 비밀번호를 입력하면 다음과 같은 화면이 표시됩니다:
admin@192.168.1.100's password:
Linux SynologyNAS 4.4.180+ #42962 SMP Mon Oct 29 12:24:40 CST 2021 x86_64
Welcome to Synology DiskStation
DSM 7.1.1-42962 Update
2. Docker 컨테이너 확인하기
접속에 성공했다면, 다음 명령어로 현재 실행 중인 Docker 컨테이너를 확인합니다:
sudo docker ps
출력 예시:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 tomcat:9.0 "catalina.sh run" 2 days ago Up 2 days 0.0.0.0:8080->8080/tcp tomcat_webapp
특별히 Tomcat 컨테이너만 보고 싶다면:
sudo docker ps | grep tomcat
3. Tomcat 컨테이너 내부로 접속하기
확인된 컨테이너 ID를 사용하여 내부 셸에 접속합니다:
sudo docker exec -it a1b2c3d4e5f6 /bin/bash
성공적으로 접속되면 다음과 같이 프롬프트가 변경됩니다:
root@a1b2c3d4e5f6:/usr/local/tomcat#
이제 컨테이너 내부에 있으며, 일반적인 리눅스 명령어를 사용할 수 있습니다.
4. Tomcat 설치 경로 확인 및 탐색하기
대부분의 Tomcat Docker 이미지에서는 Tomcat이 /usr/local/tomcat에 설치되어 있습니다. 다음 명령어로 현재 디렉토리 구조를 확인해 볼 수 있습니다:
ls -la
출력 예시:
total 152
drwxr-xr-x 1 root root 4096 Apr 25 09:14 .
drwxr-xr-x 1 root root 4096 Apr 25 09:14 ..
-rw-r--r-- 1 root root 18982 Mar 14 09:16 LICENSE
-rw-r--r-- 1 root root 5432 Mar 14 09:16 NOTICE
-rw-r--r-- 1 root root 2333 Mar 14 09:16 RELEASE-NOTES
-rw-r--r-- 1 root root 12761 Mar 14 09:16 RUNNING.txt
drwxr-xr-x 2 root root 4096 Mar 30 10:21 bin
drwxr-xr-x 1 root root 4096 Apr 25 09:15 conf
drwxr-xr-x 2 root root 4096 Mar 30 10:21 lib
drwxrwxrwx 1 root root 4096 Apr 30 15:42 logs
drwxr-xr-x 2 root root 4096 Mar 30 10:21 temp
drwxr-xr-x 7 root root 4096 Mar 30 10:21 webapps
drwxr-xr-x 2 root root 4096 Mar 30 10:21 work
주요 디렉토리 탐색:
# 웹 애플리케이션 확인
ls -la webapps/
# 로그 파일 확인
ls -la logs/
# 설정 파일 확인
ls -la conf/
Tomcat 버전 확인:
cat RELEASE-NOTES
5. 실제 배포된 웹 애플리케이션 확인하기
webapps 디렉토리에 배포된 애플리케이션을 확인합니다:
cd webapps
ls -la
출력 예시:
total 16
drwxr-xr-x 7 root root 4096 Mar 30 10:21 .
drwxr-xr-x 1 root root 4096 Apr 25 09:14 ..
drwxr-xr-x 3 root root 4096 Mar 30 10:21 ROOT
drwxr-xr-x 4 root root 4096 Apr 28 14:32 myapp
특정 애플리케이션의 WEB-INF 디렉토리를 확인하여 설정 파일을 볼 수 있습니다:
cd myapp/WEB-INF
ls -la
6. 설정 파일 수정하기
server.xml과 같은 중요한 설정 파일을 확인하고 수정할 수 있습니다:
cd /usr/local/tomcat/conf
cat server.xml
수정이 필요한 경우, vi 에디터를 사용할 수 있습니다:
vi server.xml
Tomcat 컨테이너에 vi가 설치되어 있지 않다면 다음 명령으로 설치할 수 있습니다:
apt-get update && apt-get install -y vim
7. 로그 파일 모니터링하기
Tomcat의 로그 파일을 실시간으로 확인할 수 있습니다:
cd /usr/local/tomcat/logs
tail -f catalina.out
8. 컨테이너 외부에서 파일 시스템 접근하기
SSH 세션에서 컨테이너를 종료하지 않고도 호스트 시스템에서 컨테이너 볼륨을 확인할 수 있습니다:
# 컨테이너에서 나가기
exit
# 컨테이너 볼륨 정보 확인
sudo docker inspect a1b2c3d4e5f6 | grep -A 10 Mounts
출력 예시:
"Mounts": [
{
"Type": "volume",
"Name": "tomcat_webapps",
"Source": "/volume1/docker/volumes/tomcat_webapps/_data",
"Destination": "/usr/local/tomcat/webapps",
"Driver": "local",
"Mode": "rw",
"RW": true,
"Propagation": ""
}
]
이제 시놀로지 파일 시스템에서 직접 접근할 수 있습니다:
ls -la /volume1/docker/volumes/tomcat_webapps/_data
9. WAR 파일 배포하기
외부에서 컨테이너로 WAR 파일을 복사하여 배포할 수 있습니다:
# 로컬에서 시놀로지로 WAR 파일 업로드하기 (별도 SCP 명령)
scp myapp.war admin@192.168.1.100:/tmp/
# 시놀로지에서 컨테이너로 WAR 파일 복사하기
sudo docker cp /tmp/myapp.war a1b2c3d4e5f6:/usr/local/tomcat/webapps/
이와 같이 SSH를 통해 시놀로지 NAS의 Docker 컨테이너에 접근하면, GUI에서는 제공하지 않는 고급 관리 및 문제 해결 작업을 수행할 수 있습니다. 특히 Tomcat 서버 설정 조정이나 로그 분석, 애플리케이션 배포 등의 작업을 효율적으로 처리할 수 있어 서버 관리자에게 필수적인 기술입니다.
'System & Infrastructure > NAS' 카테고리의 다른 글
시놀로지 Docker에 Zonos 설치하기 (0) | 2025.05.14 |
---|---|
[시놀로지 Docker] 실행 중지된 컨테이너에서 파일 가져오기 (0) | 2025.05.08 |
[시놀로지 Docker] SSH로 Tomcat 컨테이너 내부 파일 가져오기1 (1) | 2025.05.07 |
시놀로지 NAS에 SSL 인증서 적용하기 (2) | 2025.05.05 |