본문 바로가기
CI | CD

[Docker] 도커 컨테이너 통신하기

by ♡˖GYURI˖♡ 2024. 7. 10.
728x90

 

 

위 영상을 바탕으로 정리한 글입니다!

 

 

도커 컨테이너와 통신하기

도커 컨테이너는 기본적으로 독립적인 환경에서 실행되기 때문에 컨테이너 밖에서 접근할 수 없음

이전 포스팅에서는 -p 옵션을 통해 port를 설정하였기에 해당 port로 접근할 수 있었음
-p 옵션이 없을 경우, 컨테이너에 외부와 연결할 port가 설정되어 있지 않기 때문에 해당 컨테이너에 접근하는 것이 쉽지 않음

 

컨테이너와 통신하기 위해서는 컨테이너를 가동시키면서 'p' 옵션을 사용하여 호스트의 포트와 컨테이너의 포트를 설정해야 함

  • 실습 환경에서의 호스트는 개인 pc (localhost)
  • 상용 환경에서는 서버가 호스트가 됨
  • 컨테이너 포트는 컨테이너가 외부와 통신하기 위해서 열리는 포트

이 설정을 사용하기 위해서는 호스트(서버 또는 PC)에서 사용 중인 포트와 번호가 겹치지 않는지 확인이 필요함

 

 

아래 도커 커맨드들의 차이

docker run --name test1 -d httpd
docker run --name test1 -d -p 8080:80 httpd
  • --name test1 : test1이라는 이름으로 컨테이너 생성
  • -d : 백그라운드로 동작
  • -p 8080:80 : 호스트의 포트느느 8080, 컨테이너의 포트는 80으로 세팅하여 네트워크 설정

 

위 커맨드를 실행한 후에 docker 데스크탑으로 컨테이너 상태를 확인

(or 아래 커맨드를 입력하여 상태를 확인)

docker ps -a
docker container ls -a

docker 데스크탑 화면

 

컨테이너 실습을 마치면 아래 커맨드를 통해 실행을 중지하고 삭제하는 작업을 수행하는 것이 좋음

docker stop test1
docker rm test1

 

또는 docker 데스크탑에서 GUI를 사용하여 삭제할 수도 있음 (삭제 버튼 클릭시 자동 정지 후 삭제)