반응형
본 내용은 인프런의 데브위키님의 강의 "개발자를 위한 쉬운 도커" 내용을 바탕으로 정리한 내용입니다.
docker 관련 기본 명령어
# Client, Server의 버전 및 상태 확인
docker version
# 플러그인, 현재 실행중인 시스템 상세 정보 확인
docker info
# 매뉴얼 확인
docker --help
# 대분류 - Management Command는 생략 가능
docker (Management Command) Command
# 소분류 - container는 생략 가능
docker container run
# 컨테이너 실행
docker run (실행옵션) 이미지명
# 컨테이너 삭제
docker rm 컨테이너명/ID
도커 컨테이너 실행 과정
- docker run 명령어를 실행하면, CLI가 해당 명령어를 도커 데몬에 전송하기 위해 API 요청으로 변환한다.
- 도커 데몬은 컨테이너 런타임을 통해 새로운 컨테이너를 생성하고 시작한다.
- 로컬호스트에서 웹 브라우저를 통해 접속하면, 실행 중인 컨테이너 내에서 호스팅되는 웹 페이지를 응답받을 수 있다.
- 이 컨테이너는 호스트 시스템과 격리되어 독립적으로 실행된다.
서버에서 프로그램을 실행하기 위해 필요한 3가지
- 애플리케이션을 실행하기 위한 기본 OS
- 프로그램을 실행하기 위한 구성 요소
- 실행시킬 프로그램
그림 1) 프로그램 실행 요소
도커를 사용하는 목적
- 가상화 서버를 빠르고 가볍게 운영하기 위해 사용한다.
이미지란?
- 특정 서버를 실행할 수 있는 상태를 저장한 압축 파일
- 제작 단계부터 소프트웨어와 소프트웨어가 실행하기 위해 필요한 모든 구성 요소를 미리 준비해서 압축한다.
- docker run 시 이미지를 다운 받아 격리된 공간에 컨테이너를 실행시킨다.
- 이미지는 다른 구성 요소의 압축과 가상머신의 스냅샷보다 압축 파일의 사이즈가 작다.
- 이미지는 다른 사람의 이미지를 다운 받을 수도 있고 제작할 수 도 있다.
그림 2) Nginx 이미지 실행 과정
프로그램과 프로세스
1. 프로그램이란?
- 컴퓨터에서 실행될 수 있는 명령어들의 집합
- 실행가능한 소프트 웨어
- CPU나 리소스 같은 컴퓨터의 리소스를 차지 하지않고 오로지 스토리지의 디스크 공간만 사용하는 상태
2. 프로세스란
- 실행 중인 프로그램(소프트웨어)
- 프로그램 1 : N 프로세스 관계
- 실행 시 CPU, MEM 등의 리소스 사용
이미지와 컨테이너
1. 이미지
- 실행 가능한 소프트웨어와 실행에 필요한 환경설정등을 포함하는 템플릿
- 디스크 공간 차지
2. 컨테이너
- 실행 상태의 이미지
- 이미지 1 : N 컨테이너 관계
- 컨테이너 실행 시 CPU, MEM 등의 리소스 사용
- 실행 시 이미지 복사해 격리된 디스크 공간 생성
- 컨테이너 실행 시 프로세스도 함께 실행
도커 이미지 조회 명령어
# 도커 이미지 조회
docker image ls
# 도커 이미지 중 nginx만 조회
docker image ls nginx
그림 3) 컨테이너 실행, 조회, 삭제
도커 실행, 조회, 삭제 명령어
# 이름이 다른 3개의 컨테이너 실행 - id가 모두 다르다.
docker run -d --name multinginx1 nginx
docker run -d --name multinginx2 nginx
docker run -d --name multinginx3 nginx
# 실행 중인 컨테이너 리스트 조회
docker ps
# 컨테이너 삭제 실행중인 컨테이너를 삭제하려면 -f 명령어를 사용
docker rm -f multinginx1 multinginx2 multinginx3
반응형
'Docker' 카테고리의 다른 글
[Docker] 이미지 레지스트리 (0) | 2024.07.18 |
---|---|
[Docker] 컨테이너의 라이프사이클 (0) | 2024.07.18 |
[Docker] 메타데이터 (0) | 2024.07.18 |
[Docker] 가상화 기술 (0) | 2024.07.18 |
[Docker] Docker 실습 환경 세팅 (0) | 2024.07.18 |