1. 톰캣 설치
아파치 톰캣(Apache Tomcat)은 자바 서블릿, 자바 서버 페이지(JSP), 자바 표현 언어(EL) 및 웹소켓 기술을 구현한 오픈 소스 웹 서버이자 서블릿 컨테이너이다. 톰캣은 주로 자바 기반의 웹 애플리케이션을 실행하고 관리하는 데 사용된다. 이는 웹 서버와 서블릿 컨테이너 역할을 모두 수행할 수 있는 소프트웨어로, 웹 애플리케이션 개발과 배포에 널리 사용된다.
docker run -it tomcat:9.0 // 톰캣이 없으면 설치 후, 컨테이너 생성. 터미널에 접근할 수 있게 한다.
톰캣이 실행되고 있다.
catalina.sh run 은 아파치 톰캣 실행 명령어이다.
2. docker exec -it
실행 중인 컨테이너 내에서 새로운 명령을 실행할 때 사용하는 명령어. 이 명령어를 사용하면 특정 컨테이너 내부에서 명령어를 실행하고, 컨테이너와 상호작용할 수 있다.
docker exec -it container_id bash // 커맨드를 바꿔서 실행 중인 프로그램에 접근
3. 포트 포워딩(Port Forwarding)
3.1 포트 포워딩(Port Forwarding)란?
포트 포워딩(Port Forwarding)은 네트워크 트래픽을 특정 포트에서 다른 포트로 전달하는 방식이다. 이는 네트워크 주소 변환(NAT) 설정의 일종으로, 외부 네트워크에서 특정 포트로 들어오는 요청을 내부 네트워크의 다른 포트로 전달하는 데 사용된다. Docker에서는 호스트 시스템의 포트를 컨테이너의 포트에 매핑하여, 외부에서 컨테이너 내부의 서비스를 접근할 수 있도록 설정할 때 사용된다.
① 외부에서 공유기의 공인IP 10.5.5.5:5000 을 요청한다.
② 외부의 요청이 공유기에 도착한다. 10.5.5.5 는 공인 IP 로 외부의 인터넷과 연결된 IP이다.
192.168.0.1 은 사설 IP로 내부 네트워크에서만 사용되며, 인터넷에 직접 연결되지 않는다.
③ 공유기는 포트 포워드 테이블에서 5000번 포트가 내부 네트워크의 어떤 애플리케이션에 할당되어잇는지를 확인한다.
④ ARP(Address Resolution Protocol) 를 통해 IP 주소를 MAC 주소로 변환한다. MAC 주소는 물리적 하드웨어 수준에서 장치를 식별하는 식별자이다.
⑤ 공유기를 MAC 주소에 해당 하는 디바이스를 찾아간다.
⑥ 포트에 맞는 애플리케이션을 찾아간다.
3.2 포트 포워딩하기
docker run -dit -p 3000:8080 tomcat:9.0 // 3000 포트가 때려지면 톰캣의 포트번호 8080이 호출됨
POSRT 가 3000 → 8080 으로 된 것을 확인할 수 있다. 3000 포트를 요청하면 톰캣의 8080이 요청되면서 404 오류가 뜬다.
3.3 index.html 파일 만들기
웹 브라우저에서 도메인이나 IP 주소를 입력할 때, 특정 파일을 지정하지 않으면 웹 서버는 기본 시작 페이지로 index.html 파일을 응답한다.
실행 중인 톰캣을 실행
ROOT 폴더 생성 후 이동
ls // 현재 경로에서 파일 및 디렉토리 목록 보기 cd webapps // webapps 폴더로 이동 mkdir ROOT // ROOT 폴더 생성 cd ROOT // ROOD 폴더로 경로 이동
ROOT 폴더를 만든 이유는 주소 요청시 webapps/ROOT/index.html 을 찾기 때문이다.
패키지 목록 업데이트
apt-get update // 새로운 소프트웨어, 혹은 소프트웨어 업데이트 전 패키지 목록을 최신 상태로 업데이트
리눅스 시스템에 Vim을 쉽게 설치
apt-get install vim // Vim 설치, Vim 은 리눅스에서 텍스트 편집기
index.html 생성
vi index.html // index.html 을 실행하고 편집하는 명령어
vim 실행 후 insert 누르면 입력 모드로 실행 된다. 원하는 텍스트를 입력 후 esc 를 누르면 일반 모드로 돌아온다. 이때 :wq 를 입력하면 저장 후 vim이 종료된다.
index.html 을 만든 후 localhost:3000 을 실행하면 index.html이 출력된다.
Share article