실패는 성공을 위한 밑거름

1. docker란 무엇인가? 본문

devops/docker

1. docker란 무엇인가?

레드매실 2021. 11. 17. 00:55

docker#1

서버관리는 복잡하다.

 

이유?

  • 설치해달라는 어플리케이션이 여러가지일수도있고 (oracle,mysql,wordpress)
  • 사용하는 클라우드 환경이 다를수가있다.(aws,azure,google cloud)
  • 개발환경이 다를수있다.(node.js ,ruby,spring)

이런 문제는 docker가 등장하고나서 완전히 바뀌게됨

 

docker#2

 

전통적인서버관리 : 

여러가지 어플리케이션을 설치해야해서 많이 어렵다.

 

docker를 이용한 서버관리 : 

어플리케이션을 컨테이너로 만들수있어서 서버관리가 쉽다

 


 

도커의 특징 - 이미지

  • 이미지에서 컨테이너를 생성하기 때문에 반드시 이미지를 만드는 과정이 필요
  • .dockerfile을 이용하여 이미지를 만들고 처음부터 재현 가능
  • 빌드서버에서 이미지를 만들면 해당 이미지를 이미지 저장소에 저장하고 운영서버에서 이미지를 불러옴

 

도커의 특징 - 설정관리

  • 설정은 보통 환경변수로 제어함
  • mysql_pass=password와 같이 컨테이너를 띄울때 환경변수를 같이 지정
  • 하나의 이미지과 환경변수에 따라 동적으로 설정파일을 생성하도록 만들어져야함



도커의 특징 - 자원관리

  • 컨테이너는 삭제후 새로 만들면 모든 데이터가 초기화됨
  • 업로드 파일을 외부 스토리지와 링크하여 사용하거나 s3같은 별도의 저장소가 필요
  • 세션이나 캐시를 memcached나 redis와 같은 외부로 분리

 

도커의장점

도커는 개발환경을 컨테이너로 만들수있다.