Amazon Linux 2023 도커(Docker) 설치 패키지

패키지 요약표
분류패키지명버전주요 기능도커 내 역할
분류 | 패키지명 | 주요 기능 | 도커내 역할 |
핵심 컨테이너 런타임 | docker | 컨테이너 관리 플랫폼 | 핵심 사용자 인터페이스 및 컨테이너 오케스트레이션 |
핵심 컨테이너 런타임 | containerd | 컨테이너 런타임 | 컨테이너 생명주기 관리 및 이미지 관리 |
핵심 컨테이너 런타임 | runc | OCI 호환 컨테이너 실행기 | 저수준 컨테이너 생성 및 실행 |
네트워크 관리 | iptables-libs | 네트워크 패킷 필터링 라이브러리 | 컨테이너 네트워크 규칙 처리 기반 |
네트워크 관리 | iptables-nft | nftables 기반 패킷 필터링 | 컨테이너 네트워크 연결 및 포트 매핑 |
네트워크 관리 | libnetfilter_conntrack | 연결 추적 라이브러리 | NAT 및 컨테이너 네트워크 상태 관리 |
네트워크 관리 | libnfnetlink | 커널 netfilter 인터페이스 | 저수준 네트워크 필터링 통신 |
네트워크 관리 | libnftnl | nftables 네트워크 필터링 라이브러리 | 고급 네트워크 필터링 규칙 관리 |
리소스 관리 | libcgroup | 제어 그룹 관리 라이브러리 | 컨테이너 리소스 제한 및 격리 |
이미지 처리 | pigz | 병렬 gzip 압축 유틸리티 | 컨테이너 이미지 압축/해제 가속화 |
도커 아키텍처 구성도

패키지 상세 기술 명세
1. docker (25.0.8-1.amzn2023.0.1)
주요 기능: 컨테이너 관리 플랫폼
기술 명세:
- Docker Engine의 핵심 구성요소
- 사용자 CLI 인터페이스 제공
- REST API 기반 컨테이너 관리 인터페이스
- 이미지 빌드 및 배포 기능
- 컨테이너 네트워크 및 볼륨 관리 시스템
역할: 컨테이너 생성, 시작, 중지, 삭제 등의 작업을 위한 메인 인터페이스. docker daemon(dockerd)을 통해 containerd와 통신하여 컨테이너 실행을 오케스트레이션함. 다른 모든 패키지는 이 핵심 패키지를 지원하기 위한 종속성 구성요소임.
2. containerd (1.7.25-1.amzn2023.0.1)
주요 기능: 컨테이너 런타임
기술 명세:
- OCI(Open Container Initiative) 표준 준수
- 이미지 관리(pull, unpack, cache)
- 컨테이너 실행 관리
- 네임스페이스 및 cgroup 설정
- 스토리지 드라이버 인터페이스
역할: Docker daemon과 runc 사이의 중간 계층으로, 컨테이너 생명주기 관리를 담당. 이미지 풀링, 스토리지, 네트워킹 설정 및 컨테이너 실행 상태를 관리하며 gRPC API를 통해 상위 계층과 통신.
3. runc (1.2.4-1.amzn2023.0.1)
주요 기능: OCI 호환 컨테이너 실행기
기술 명세:
- OCI 런타임 스펙 구현체
- 리눅스 네임스페이스 생성 및 관리
- cgroup 할당 및 제어
- 컨테이너 루트 파일시스템 마운트
- 컨테이너 프로세스 생성 및 관리
역할: 컨테이너 생성에 필요한 저수준 작업 수행. 리눅스 커널의 namespaces, cgroups, seccomp, capabilities 등을 구성하여 실제 격리된 컨테이너 환경을 생성하고 실행함.
4. iptables-libs (1.8.8-3.amzn2023.0.2)
주요 기능: 네트워크 패킷 필터링 라이브러리
기술 명세:
- 커널 netfilter 프레임워크 인터페이스
- 패킷 검사 및 필터링 기능
- NAT(Network Address Translation) 기능
- 상태 기반 패킷 필터링
- 네트워크 규칙 관리 API
역할: 도커 네트워크 스택의 기반 구성요소로, 컨테이너 네트워크 브리지 구성 및 포트 포워딩 규칙 설정을 위한 핵심 라이브러리. 컨테이너 간 또는 컨테이너-호스트 간 네트워크 통신 규칙 구현.
5. iptables-nft (1.8.8-3.amzn2023.0.2)
주요 기능: nftables 기반 패킷 필터링
기술 명세:
- nftables 백엔드 사용 iptables 호환 인터페이스
- 향상된 성능 및 확장성
- 다중 테이블 지원
- 원자적 규칙 변경
- IPv4/IPv6 통합 처리
역할: nftables 프레임워크를 통해 컨테이너의 네트워크 격리 및 통신 규칙을 관리. 컨테이너 포트 매핑, 네트워크 네임스페이스 간 라우팅, 보안 규칙 적용에 사용됨.
6. libcgroup (3.0-1.amzn2023.0.1)
주요 기능: 제어 그룹 관리 라이브러리
기술 명세:
- cgroup 파일시스템 인터페이스
- 리소스 제한 구성 API
- cgroup v1/v2 지원
- 계층적 리소스 관리
- 프로세스 그룹 추적
역할: 컨테이너별 리소스 제한(CPU, 메모리, 디스크 I/O, 네트워크 대역폭) 구현에 사용됨. 컨테이너 간 리소스 격리 및 공정한 자원 할당을 보장하는 기반 구성요소.
7. libnetfilter_conntrack (1.0.8-2.amzn2023.0.2)
주요 기능: 연결 추적 라이브러리
기술 명세:
- 커널 연결 추적 테이블 액세스
- 네트워크 연결 상태 모니터링
- 연결 이벤트 알림
- NAT 설정 지원
- 연결 통계 수집
역할: 컨테이너 네트워크의 연결 상태 추적 관리. NAT 기능 구현, 방화벽 규칙 적용, 컨테이너 간 네트워크 연결성 보장에 중요한 역할 수행.
8. libnfnetlink (1.0.1-19.amzn2023.0.2)
주요 기능: 커널 netfilter 인터페이스
기술 명세:
- 커널-사용자 공간 통신 프레임워크
- 저수준 netlink 소켓 처리
- netfilter 서브시스템 연결 처리
- 비동기 이벤트 처리
- 메시지 큐 관리
역할: netfilter 커널 서브시스템과의 통신을 위한 저수준 라이브러리로, 네트워크 필터링을 위한 기반 계층 제공. 상위 네트워크 라이브러리(libnetfilter_conntrack 등)의 기반 구성요소.
9. libnftnl (1.2.2-2.amzn2023.0.2)
주요 기능: nftables 네트워크 필터링 라이브러리
기술 명세:
- nftables netlink 인터페이스
- 규칙 생성 및 관리 API
- 테이블, 체인, 규칙 조작
- 네트워크 객체 표현
- 필터링 표현식 처리
역할: iptables-nft와 함께 작동하여 nftables 기반 네트워크 패킷 필터링 구현. 컨테이너의 고급 네트워크 정책 및 규칙 관리에 사용됨.
10. pigz (2.5-1.amzn2023.0.3)
주요 기능: 병렬 gzip 압축 유틸리티
기술 명세:
- 다중 스레드 gzip 구현
- 병렬 압축 및 해제
- 표준 gzip 호환 출력
- 코어/스레드 수 기반 자동 최적화
- 스트림 처리 지원
역할: 다중 코어 시스템에서 컨테이너 이미지 압축 및 해제 성능 최적화. 이미지 pull, push, save, load 작업 속도 향상을 통한 컨테이너 배포 효율성 증대.
구성요소 간 상호작용
Docker 환경에서 이러한 패키지들은 계층적 아키텍처를 형성하여 작동:
- 명령 계층: docker CLI를 통한 사용자 명령 입력
- 관리 계층: dockerd(Docker daemon)가 명령 해석 및 컨테이너 관리
- 런타임 계층: containerd가 컨테이너 실행 상태 관리
- 실행 계층: runc가 Linux 커널 기능을 활용하여 실제 컨테이너 생성
- 인프라 계층: 네트워크(iptables 관련), 리소스 관리(libcgroup), 최적화(pigz) 패키지들이 지원
이러한 계층적 구조를 통해 사용자는 단순한 docker 명령어만으로 복잡한 컨테이너 환경을 효율적으로 관리할 수 있음.