본문 바로가기
Docker

Docker 특징

by 앵남(Andy) 2021. 11. 9.

프로세스: 메모리에 올려져 실행중인 프로그램

컨테이너(Container): 격리된 환경에서 작동하는 프로세스입니다. 

container

 

도커의 특징 - 확장성/이식성

- 도커가 설치되어 있다면 어디서든 컨테이너를 실행할 수 있습니다.

- 특정 회사나 서비스에 종속적이지 않습니다.

 

도커의 특징 - 표준성

- 도커를 사용하지 않는 경우 ruby, nodejs, go, php 등등 만든 서비스들의 배포 방식은 제각각 다 다릅니다. 

- 컨테이너라는 표준으로 서버를 배포하므로 모든 서비스들의 배포과정이 동일해집니다.

 

도커의 특징 - 이미지

- 이미지에서 컨테이너를 생성하기 때문에 반드시 이미지를 만드는 과정이 필요합니다. 

- Dockerfile을 이용하여 이미지를 만들고 처음부터 재현이 가능합니다. 

- 빌드 서버에서 이미지를 만들면 해당 이미지를 이미지 저장소에 저장하고 운영서버에서 이미지를 불러옵니다.

 

컨테이너를 실행하기 위한 압축파일이라고 생각하면됩니다. 그래서 꼭 이미지 만드는 과정이 필요하고 이미지는 Docker file이라는 스크립트로 만듭니다. 

 

도커의 특징 - 서버관리

- 설정은 보통 환경변수로 제어합니다.

- EX MYSQL_PASS = password와 같이 컨테이너를 띄울 때 환경변수를 같이지정 합니다. 

- 하나의 이미지가 환경변수에 따라 동적으로 설정파일을 생성하도록 만들어야합니다. 

 

 

도커의 특징 - 자원관리

- 컨테이너는 삭제 후 새로 만들면 모든 데이터가 초기화됩니다.

- 업로드 파일을 외부 스토리지와 링크하여 사용하거나 s3같은 별도의 저장소가 필요합니다.

- 세션이나 캐시를 memcahed나 redis와 같은 외부로 분리

 

 

댓글