Dev etc/etc

[Docker] 도커(docker) 서비스 환경

콩다영 2023. 6. 16.
728x90

 

▷ 도커 서비스 환경

- docker-compose라는 여러 docker 컨테이너를 통합적으로 관리하는 cli 프로그램으로써 docker를 설치하면 번들로써 제공함.

- 컨테이너 기반을 이용하여 단순한 저장공간 컨테이너(볼륨)를 만들어 저장공간을  container끼리 연결할 수 있으며,

   실행한 호스트의 저장공간에도 접근 가능함.

- Docker는 게스트 OS를 설치하지 않음.

   ( 단지 이미지에 서버 운영을 위한 프로그램과 라이브러리만 격리해서 설치하기 때문에 이미지 용량이 크게 줄어듦 )

- Docker의 컨테이너는 OS를 설치하지 않기 때문에 호스트와 OS자원을 직접 사용함.

   ( Docker는 하드웨어 가상화 계층이 존재하지 않기 때문에 메모리접근, 파일접근 등 관련한 기능에서 직접 접근하기 때문에

    가상화보다 빠른 성능을 보여줌 )

- Docker 프로그램에서 다양한 API를 제공하기 때문에 원하는 만큼 자동화가 가능함.

 

 

 

▷ 도커 서비스 환경 구성 

도커 서비스 환경

「 확장성」

: 이미지만 만들어 놓으면 컨테이너만 관리

: 서비스 이전이나 신규 서버에 서비스 추가 시 docker run 명령어로 처리

: 개발서버나 테스트서버 운용 간편

「  표준성

: 도커를 사용하지 않는 경우 ruby, node.js, go, php로 만든 서비스들의 배포방식은 제각각

: 컨테이너라는 표준으로 서버를 배포하므로 모든 서비스들의 배포과정이 동일

「 이미지

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

: 이미지를 저장할 곳이 필요

설정

: 설정은 보통 환경변수로 제어

: MYSQL_PASS=password와 같이 컨테이너를 띄울 때 환경변수를 같이 지정

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

「 공유자원

: 컨테이너는 삭제 후 새로 만들면 모든 데이터가 초기화됨

: 업로드 파일을 외부 스토리지와 링크하여 사용하거나 S3 같은 별도의 저장소 필요

: 세션이나 캐시를 파일로 사용 시 memcached나 redis와 같은 외부로 분리

 

 

 

728x90
반응형

댓글