[도커 실습] 컨테이너 통신 ( 아파치 활용 )

2022. 6. 19. 12:03·TEAM STUDY/쿠버네티스
목차
  1. 아파치란 ?
  2. 컨테이너와 통신하려면 ?
  3. 여러개의 웹 서버를 함께 실행하기
728x90
반응형

아파치란 ?

아파치는 웹 서버 기능을 제공하는 소프트웨어이다.

 

쉽게 설명해서 아파치가 동작 중인 서버에 파일을 두면 이 파일을 웹 사이트 형태로 볼 수 있다.

 

컨테이너는 실행될 때 외부에서 접근이 불가능한 상태로 실행되기 때문이다.

 

웹 브라우저를 통해 컨테이너에 접근이 가능하게하려면 컨테이너를 실행할 때 설정이 필요하다.

또한 이 설정은 컨테이너를 생성한 후에는 기본적으로 변경할 수 없다.

따라서 docker run 커맨드에 옵션형태로 설정할 수 있다.

 


컨테이너와 통신하려면 ?

웹 브라우저를 통해 컨테이너에 접근하려면 외부와 접속하기 위한 설정이 필요하다.

이를 위해 '포트' 를 설정한다.

 

'포트'란 통신 내용이 드나드는 통로를 의미한다.

 

아파치는 서버에서 정해둔 포트에서 웹 사이트에 대한 접근을 기다리다가 사용자가 이 포트를 통해 접근해 오면 요청에 따라 웹 사이트 페이지를 제공한다.

하지만 컨테이너 속에서 실행중인 아파치는 외부와 직접 연결되지 않았기 때문에 외부에서 접근할 수 없다,

 

그래서 컨테이너를 실행 중인 물리적 컴퓨터가 외부의 접근을 대신 받아 전달해주도록 한다.

 

좀 더 구체적으로 설명하면 컨테이너를 실행중인 컴퓨터의 8080번 포트와 컨테이너의 80- 번 포트를 연결한다.

이 설정이 -p 옵션이며, 그 뒤로 호스트의 포트번호와 컨테이너의 포트 번호를 콜론으로 연결해 함께 기재한다.

 


여러개의 웹 서버를 함께 실행하기

컨테이너를 사용하면 여러 개의 웹 서버를 함께 실행할 수 있다.

이러한 경우 호스트 포트번호를 모두 같은 것으로 사용하면 어떤 컨테이너로 가야 할  요청인지 구분할 수 없기에 호스트 포트 번호가 겹치지 않게 설정한다.

 

꼭 여러 컨테이너로 연겱되는 포트 번호를 같게 설정하고 싶다면 리버스 프락시로 서버 이름을 통해 구별하도록 구성한다.

 


🌝  컨테이너 생성 및 실행 - run

 

docker run --name apa000ex2 -d -p 8080:80 httpd

 

soobin@DESKTOP-6SJCDN6:/mnt/c/WINDOWS/system32$ docker run --name apa000ex2 -d -p 8080:80 httpd
dc0c74aba591ccb4c34100f60d481dc526e1854e79d8f4dcceaf1fa94f863ffd

🌝 컨테이너 상태 확인 - ps

 

docker ps

 

soobin@DESKTOP-6SJCDN6:/mnt/c/WINDOWS/system32$ docker ps
CONTAINER ID   IMAGE     COMMAND              CREATED          STATUS          PORTS                  NAMES
dc0c74aba591   httpd     "httpd-foreground"   16 seconds ago   Up 15 seconds   0.0.0.0:8080->80/tcp   apa000ex2

🌝 웹 브라우저를 통해 아파치에 접근할 수 있는지 확인

 

http://localhost:8080/

 


🌝 컨테이너 종료 - stop

 

docker stop apa000ex2 

 

soobin@DESKTOP-6SJCDN6:/mnt/c/WINDOWS/system32$ docker stop apa000ex2
apa000ex2

🌝 컨테이너 삭제 - rm

 

docker rm apa000ex2 


 

 

 

728x90
반응형
저작자표시 (새창열림)

'TEAM STUDY > 쿠버네티스' 카테고리의 다른 글

[도커 실습] nginx 컨테이너 실행  (0) 2022.06.19
[도커 실습] 다중 컨테이너 통신 ( 아파치 활용 )  (0) 2022.06.19
[도커 실습] 컨테이너 run / stop  (0) 2022.06.19
[도커 실습] 도커데스크탑이 WSL2 에서 동작하고 있는지 확인하기  (0) 2022.06.19
[도커 실습] 윈도우용 도커 데스크톱 설치  (0) 2022.06.19
  1. 아파치란 ?
  2. 컨테이너와 통신하려면 ?
  3. 여러개의 웹 서버를 함께 실행하기
'TEAM STUDY/쿠버네티스' 카테고리의 다른 글
  • [도커 실습] nginx 컨테이너 실행
  • [도커 실습] 다중 컨테이너 통신 ( 아파치 활용 )
  • [도커 실습] 컨테이너 run / stop
  • [도커 실습] 도커데스크탑이 WSL2 에서 동작하고 있는지 확인하기
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (932)
      • 개발중 (634)
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (87)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18)
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (17)
        • 기록 (1)
        • 캐글 스터디 (3)
        • R (12)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java
    Git 저장소
    네트워크 관리사 자격증
    Spring
    리눅스 마스터 1급
    springboot
    redis
    REST API
    파이썬 알고리즘
    네트워크 관리사 2급
    네트워크 관리사 2급 실기
    리눅스 마스터
    VUE
    파이썬
    리눅스 마스터 1급 정리
    jpa
    쿠버네티스 스터디
    네트워크 관리사 실기
    리눅스 1급 요약
    네트워크 관리사 학점
    리눅스 마스터 요약
    git
    네트워크 관리사
    리눅스 마스터 1급 요약
    쿠버네티스
    네트워크 관리사 요약
    알고리즘
    docker
    스프링
    BackendDevelopment
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
[도커 실습] 컨테이너 통신 ( 아파치 활용 )

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.