Backend

왜 도커를 사용해야 할까요?

!쪼렙조햄 2020. 6. 7. 18:18
반응형

Docker

왜 도커를 사용해야 할까요?

참고 유튜브

  • 컨테이너
    • 애플리케이션을 환경에 구애받지 않고 실행하는 기술
  • 서버마다 다른 운영기록
    • a서버는 잘 되는데 b서버는 왜 죽지? 같은일을 했는데?
    • 눈송이서버
      • 눈송이서버에서 애플리케이션이 죽으면 굉장히 많은 가능성을 따져야 한다
    • tmux를 사용해서 다양한 서버에 동시에 명령어를 전달하기도 한다
  • Docker file
    • 도커 파일을 빌드하면 도커 이미지를 만들어 준다
    • 도커이미지 : 명령어들을 모두 실행한 결과물
      • 도커 이미지는 명령어 시행 시점까지 저장한다
      • 1년사이에 스크립트의 내용이 바뀔 수도 있다. 그러나 도커 이미지를 만들어두면 1년전 도커이미지를 그대로 사용할 수 있다
  • 서버를 코드화 한다
    • 견고함
    • 유연성
    • 서버를 소프트웨어 사용하듯
      • 다른사람의 도커이미지 실행해 보기 쉽다
    • 확장성
      • 사용자가 많이 몰려서 서버가 더 필요하면 도커 이미지를 더 실행하면 된다

Get Started & Develop with Docker

docs.docker.com

  • 도커 아키텍쳐
    • 클라이언트 - 서버 아키텍처
    • Docker Client - Docker daemon
    • Docker daemon (dockerd)
      • 이미지, 컨테이너, 네트워크 및 볼륨과 같은 도커 객체를 관리
      • 다른 데몬과 통신하기도
    • Docker client (docker)
      • docker run
        • client는 dockerd에게 커맨드를 보낸다
    • Docker registry
      • docker 이미지 저장
      • DockerHub
        • 모든 사용자가 사용할 수 있는 공용 레지스트리
        • 기본적으로 docker는 dockerhub에서 이미지를 검색
      • docker pull, docker run docker push
        • 필요한 이미지를 레지스트리에서 pull해서 사용후 push
    • Docker 객체들
      • 이미지
        • 읽기 전용 템플릿
        • 이미지가 다른 이미지를 기반으로 하는 경우가 많다
      • 컨테이너
        • 실행 가능한 이미지 인스턴스
    • docker run -i -t ubuntu /bin/bash
      • docker pull ubuntu를 실행한것 같이 ubuntu iamge를 도커가 가져와 준다
      • docker container create를 실행한 것과 같이 도커가 새 container을 생성해준다
      • docker는 마지막 계층으로 읽기-쓰기 파일을 할당
      • 네트워크 인터페이스 생성
      • 컨테이너를 시작하고 실행한다
      • exit
        • /bin/bash를 중지시킨다
        • 시작, 제거도 가능
반응형