1. 하드웨어
2. 소프트웨어
- 기본 시스템 파일
- 언어, 라이브러리
- 애플리케이션 실행 파일
3. OS
4. 특정 패키지 및 의존성 라이브러리
5. Runtime
--> Config
이미지
1. 특정 시점의 파일 시스템을 저장한 압축 파일
2. 윈도우의 백업파일과 비슷함
3. 가상머신에서는 스냅샷을 제공함
4. 컨테이너의 이미지는 압축파일의 사이즈가 아주 작음.
5. 인터넷에서 공유하고 저장하기가 수월함
6. 다운받을 수도 있고 저장할 수도 있음.
도커를 사용한다는것
1. 컨테이너 내에서 웹서버나 웹애플리케이션같은 소프트웨어를 운영하는것
2. 호스트 OS에서 완전히 격리된 공간을 만들 수 있다.
프로그램과 프로세스의 차이
프로그램
1. 실행 가능한 소프트웨어
2. 디스크 공간 차지
프로세스
1. 실행 상태의 소프트웨어
2. 프로그램 1:N 프로세스
3. 실행 시 CPU, MEM 등의 리소스 사용
4. 한개의 프로그램은 여러개의 프로세스를 실행시킬 수 있음.
이미지를 컨테이너로 실행
1. 이미지에 저장되어있는 모든 요소를 격리된 공간으로 만든다
2. 공간에서 프로그램을 프로세스로 실행시키는 단계를 거친다.
로컬 이미지 조회 - docker image ls
특정 이미지 조회 - docker image ls nginx
컨테이너 실행 - docker run -d --name {컨테이너명} 이미지명 / -d (백그라운드 실행)
실행 중인 컨테이너 여러 개 삭제 - docker rm -f multinginx1 multinginx2 multinginx3 / -f (Force 강제)
이미지의 메타데이터
이미지에 대한 정보를 기술하는 데이터
1. env = 소프트웨어가 실행 시 참조할 설정 정보
이미지의 세부 정보 조회 - docker image inspect 이미지명
컨테이너의 세부 정보 조회 - docker container inspect 컨테이너명
컨테이너 실행 시 메타데이터의 cmd 덮어쓰기 - docker run 이미지명 (실행명령)
컨테이너 실행 시 메타데이터의 env 덮어쓰기 - docker run --env KEY=VALUE 이미지명
리눅스 명령어
파일의 내용을 출력 - cat 파일경로
컨테이너의 라이프 사이클
'데브옵스(DevOps) > Docker' 카테고리의 다른 글
이미지 레지스트리 (1) | 2025.01.03 |
---|---|
가상화 기술 - 도커 (0) | 2025.01.02 |
서버와 가상화 기술 (0) | 2025.01.02 |