Docker

Gavri·2023년 1월 28일

Docker

목록 보기
1/1

개요

배워볼것 MySql,Node,React,Nginx를 각각의 도커로 운영하고,
저장소 마스터 브랜치에 푸쉬할경우 CI/CD가 되도록 설정하는 것

도커 기본

도커를 사용하는 이유

어떠한 프로그램을 다운로드 받는 과정을 간단하게 만들기 위해

기존 개발 과정
[node설치]-[node실행]-[프로젝트실행]
이 과정에 다른 환경으로 인해 생기는 오류가 발생할 수 있습니다.

도커를 통해 지정된 환경에서 똑같은 프로그램을 설치 함으로 에러 방지가 가능합니다.

도커 없이 redis 설치 과정

도커를 통한 redis 설치 과정
docker run -it redis

도커란 무엇인가?

컨테이너를 사용하여 응용프로그램을 더 쉽게 만들고 배포하고 실행할 수 있도록 설계된 도구 이며 컨테이너 기반의 오픈소스 가상화 플랫폼이며 생태계입니다.

서버에서 컨테이너란 : 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해주는 것.

도커 이미지와 도커 컨테이너 정의

도커 컨테이너란 : 코드와 모든 종속성을 패키지화하여 응용 프로그램이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록하는 소프트웨어의 단위 이다.

도커 이미지 는 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정과 같은 응용 프로그램을 실행 하는데 필요한 모든 것을 포함하는 가볍고 독립적이며 실행 가능한 소프트웨어 패키지 이다.

도커 이미지는 프로그램을 실행하는데 필요한 설정이나 종속성을 가지고 있으며
도커 이미지를 이용해서 컨테이너를 생성하며
도커 컨테이너를 이용하여 프로그램을 실행한다.

도커를 사용할때 흐름

  1. 먼저 도커 CLI에 커맨드를 입력한다.
  2. 도커 서버가 그 커맨드를 받아서 명령어에 따라 이미지를 생성하든 컨테이너를 실행하는 작업을 이행하게 된다

docker run hello-world
만약 hello-world 라는 이미지가 없을 경우 도커 허브에서 이미지를 가져와 실행 시킴,
있을 경우 바로 실행하는 동작으로 변경 됌

도커와 기존의 가상화 기술과의 차이를 통한 컨테이너 이해

V1 하나의 서버 하나의 OS만을 사용해 남는 하드웨어를 효율적으로 사용하지 못하는 문제가 있엇음

V2 가상화 머신의 등장/ 가상화 머신을 통해 분리된 실행환경을 제공해 vm1이 다운되어도 vm2에는 어떠한 영향도 끼치지 못하기에 정상적으로 처리됨, 대신 가상화 머신에 각각의 OS가 설치되는데 OS로 인한 자원낭비가 심함

V3 도커의 등장 / 도커의 등장으로 각각 컨테이너에 OS를 설치하지 않고 호스트OS에서 이미지를 활용해 컨테이너는 OS없이 구동이 가능해 효율이 증가함
도커와 vm의 차이

도커의 컨테이너 격리 방법
기존 리눅스에서 사용하던 Cgroup과 네임스페이스 기능을 활용해 컨테이너 격리 및 자원을 효율적으로 사용하고 있습니다.
도커의 격리

이미지로 컨테이너 만들기


docker run kakaotalk 을 쳤을때
1. 도커 이미지안에 카카오톡 실행을 위한 파일 스냅샷을 컨테이너 하드디스크로 이동
2. 컨테이너 안에 카카오톡을 실행하기 위한 커맨드 실행
3. 컨테이너 안에서 카카오톡 실행

C-group,NameSpace를 도커 환경에서 쓸수 있는 이유

도커자체가 리눅스 VM에서 돌아가기에 리눅스의 기능들을 활용할 수 있다

기본적인 도커 클라이언트 명령어 알아보기

도커 이미지 내부 파일 구조 보기

docker run "이미지" ls

ls 명령어는 내부 파일 디렉토르를 보는 방법임
이또한 ls 명령어를 실행하기 위한 프로그램이 설치 되어 있어야 가능(hello-world 이미지에선 안됌)

컨테이너들 나열하기

docker ps 명령어
미실행 상태 화면

실행상태

Container Id : 컨테이너 고유 식별값
Image : 이미지 파일 이름
Command : 컨테이너 내부에서 실행하고 있는 커맨드
Names : 이미지 지정 이름

보고싶은 값만
docker ps --format 'table{{.Names}}\table{{.Image}}'

꺼진 도커도 같이 보는 옵션
docker ps -a

도커 컨테이너의 생명주기

생성 create

하드디스크에 파일 스냅샷을 넣어 주는 과정

시작 start


파일 스냅샷을 실행할 명렁어 실행 과정

profile
모든건 기록으로

0개의 댓글