클라우드서비스_DOCKER

윤일권·2022년 5월 26일
0

CloudService

목록 보기
8/8
post-thumbnail

Docker란?

고래등에 올려진 컨테이너 박스들처럼 프로그램과 실행에 필요한 것들을 컨테이너에 Shipping.
컨테이너를 손쉽게 이동해서 어디서나 간단하게 실행할 수 있는 도구와 환경을 제공하는 오픈 소스 플랫폼이다.
docker를 쓰는 이유는 호환성이 뛰어나고, 개발 운영에 아주 편리하기 때문이다.

Docker 컨테이너


Virtual Machines은 애플리케이션 자체와 필요한 바이러니/라이브러리뿐만 아니라 OS 전체가 포함된다.
하지만 Docker Engine Container은 애플리케이션과 꼭 필요한 바이너리/라이브러리만 갖추고 있다. OS상의 사용자 공간에 격리된 프로세스로 구동되기 때문에 가상머신의 이점을 누리면서 이동성이 훨씬 뛰어나다.

Docker 아키텍쳐

Docker Containers vs VMs

  1. 시작시간

    하드웨어 가상화는 CPU,메모리,하드 디스크 등의 하드웨어를 가상화하고 있기 때문에 하드웨어나 OS부팅해야 하므로 부팅에 시간소요가 발생한다.
    컨테이너형 가상화에서는 부팅시 OS는 이미 시작하고 프로세스의 시작만 하므로 부팅 소요시간이 절약된다.
  1. 오버헤드

    OS에서 응용 프로그램을 작동하는 경우,
    하드웨어 가상화에서는 가상화된 하드웨어 및 하이퍼바이저를 통해 처리하기 때문에 물리적 시스템보다 처리에 부가적인 오버헤드가 필요하다.
    컨테이너형 가상화는 커널을 공유하고 개별 프로세스가 작업을 하는 것과 같은 정도의 시간밖에 걸리지 않기 때문에 대부분 오버헤드가 없다.

Docker와 리눅스?

Docker를 사용할 때 리눅스 환경인 이유는 린눅스 커널기능들을 쓰기 때문이다.
1) 독립된 공간 형성 -> chroot
2) isolate 기능 지원 -> namespace
3) 필요한 만큼만 하드웨어를 지원 -> cgroup
<만약 윈도우나 맥에서 사용할 경우 하이퍼바이저 위에 도커엔진을 설치한다 -> 부하 가능성 있음>

Docker 실습

Docker 설치 따라하기

  1. putty로 ec2 접속.
  2. sudo apt install apt-transport-http 입력 (http접근을 위한 apt)
  3. sudo apt install ca-certificates 입력 (ssl 디지털 서명)
  4. sudo apt install curl 입력 (특정 사이트에서 다운로드 받을 때)
  5. sudo apt install software-properties-common (소스코드 받으면 자동패키지화 해줌)
  6. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
    (도커 다운로드)
  7. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" sudo apt update 입력
    (저장소에 url 추가, 도커 자동 연결 update)
  8. sudo apt update 해주기
  9. apt-cache policy docker-ce(도커 설치)
    sudo apt install docker-ce(도커 설치)
  10. sudo systemctl status docker (도커 설치 확인)

이미지 다운받기 <컨테이너 생성>

  1. sudo docker pull hello-world 입력
  2. sudo docker images를 입력해 hello-world 확인
  3. sudo docker run hello-world 입력해 hello-world 컨테이너 만들기
  4. sudo docker ps -a 입력해 컨테이너 확인하기
  5. sudo docker rm 4604c9c6197b<컨테이너 아이디> 입력해 컨테이너를 삭제해봄
profile
생각하는 개발자가 되겠습니다!!

0개의 댓글