Docker 개념

  안녕하세요. 알렉스 입니다. 제가 Docker 스택을 배우고 있습니다. 사용하면서 배운 내용들을 블로그 글로 정리할려고 합니다.


 도커는 컨테이너를 이용하여 프로그램을 구동하는 방식입니다. 각각의 개발자들은 서로 다른 환경을 갖고 있고 그것을 일원하 하는데에도 많은 시간이 걸립니다. 이미 잘 동작되는 환경과 프로그램을 하나의 모듈로 만들고 그것을 필요한 요소마다 가져다 쓸수 있는것이 Docker Image 입니다.



사진1) Docker File에서 IMAGE 생성

지금은 개념만 알기 위해서 사진1과 같이 나타내지만 'Docker File'은 Docker Image를 생성하기 위한 문서 입니다. 이 문서를 이용해서 IMAGE를 생성합니다. IMAGE안에 단순히 코드 뿐만 아니라 추가로 받아야 할 다른 이미지, 작동 경로와 코드, 그외의 파일 및 실행방법들을 이미지로 만들어 줍니다. 이때 주의할 점은 아직 앱처럼 사용할수 없다는 것입니다. 이미지를 이용해서 컨테이너를 만들어야 비로서 서비스를 할수 있습니다.


사진2) IMAGE로 Container생성

사진2와 같이 이제 이미지로 컨테이너를 생성합니다. 이 컨테이너는 독립된 공간으로 최소한의 리소스를 이용하여 운영이 됩니다. 필요시 IMAGE를 이용하여 여러개의 칸테이너를 생성할수 있습니다.


사진3) Docker로 통신방법

 도커의 컨테이너는 고립된 공간이다. 따라서 Local PC가 Container와 통신하기 위해서는 설정을 해줘야 한다. 외부에서 접속할때 허용하는 'Local PORT'가 3000이라고 예를 들겠다. 외부 어디든 3000포트를 통해 PC에 접속할수 있다 하지만 아직 도커의 컨테이너에는 접속할수 없다.


 도커만 설치되어 있으면 설사 환경이 셋팅이 되지 않더라도 컨테이너를 통해서 해당 앱을 실행할수 있습니다.


 이때 도커 컨테이너 안에서도 포트를 허용한다. 도커 내부에서 운영되는 서비스의 포트는 5000이다. 이때 'Local PORT'와 'Container PORT'를 연결하면 비로소 외부에서도 컨테이너의 서비스를 사용할수 있다.




댓글

이 블로그의 인기 게시물

DAQ로 전압 측정하기-2

Lesson 12_1 프로퍼티 노드(Property Node)

Nest JS URL에 있는 쿼리(Query) 읽기