홈 > 부모님 > 부모님 > 소설,일반 > 컴퓨터,모바일
처음부터 제대로 배우는 도커/쿠버네티스 컨테이너 개발과 운영  이미지

처음부터 제대로 배우는 도커/쿠버네티스 컨테이너 개발과 운영
개정신판, 컨테이너 기초부터 배포, 앱 구축, 패키징, 클라우드 운영, CD 자동화까지 실무 활용법 한 권으로 끝내기
제이펍 | 부모님 | 2025.05.21
  • 정가
  • 40,000원
  • 판매가
  • 36,000원 (10% 할인)
  • S포인트
  • 2,000P (5% 적립)
  • 상세정보
  • 18.8x24.5 | 1.186Kg | 624p
  • ISBN
  • 9791194587279
  • 배송비
  • 2만원 이상 구매시 무료배송 (제주 5만원 이상) ?
    배송비 안내
    전집 구매시
    주문하신 상품의 전집이 있는 경우 무료배송입니다.(전집 구매 또는 전집 + 단품 구매 시)
    단품(단행본, DVD, 음반, 완구) 구매시
    2만원 이상 구매시 무료배송이며, 2만원 미만일 경우 2,000원의 배송비가 부과됩니다.(제주도는 5만원이상 무료배송)
    무료배송으로 표기된 상품
    무료배송으로 표기된 상품일 경우 구매금액과 무관하게 무료 배송입니다.(도서, 산간지역 및 제주도는 제외)
  • 출고일
  • 품절된 상품입니다.
  • ★★★★★
  • 0/5
리뷰 0
리뷰쓰기
  • 도서 소개
  • 출판사 리뷰
  • 작가 소개
  • 목차
  • 회원 리뷰

  도서 소개

실전 애플리케이션 개발과 운영을 위한 도커/쿠버네티스 컨테이너 기술 완벽 해설서. 도커와 쿠버네티스를 활용한 컨테이너 기술의 핵심을 집대성한 실전 입문서다. 컨테이너 가상화 기술의 개념부터 시작해, 도커 기반 애플리케이션 배포와 이미지 생성, 네트워크 구성, 오케스트레이션 시스템 쿠버네티스까지 단계별로 익힐 수 있도록 구성되었다. 초판 출간 이후 변화한 최신 생태계를 반영해 전면 개정/증보되었으며, 컨테이너 개발 경험이 풍부한 저자의 노하우와 현업 사례를 담았기에 초보자부터 중급자까지 모두에게 유용하다.

  출판사 리뷰

따라 하며 익히는 컨테이너 기술 실전 입문서
날마다 바뀌는 소프트웨어 개발 환경 속에서 컨테이너 기술은 선택이 아닌 필수 기술로 자리 잡았으며, 도커와 쿠버네티스는 이제 개발자라면 누구나 이해해야 할 핵심 도구다. 프런트엔드와 백엔드, 인프라, DevOps를 아우르는 전방위적 수요는 모든 개발자에게 컨테이너 기술을 요구하고 있다.
이 책은 도커와 쿠버네티스를 중심으로 컨테이너 기술을 단계적으로 익힐 수 있도록 구성되어 있다. 단순한 개념 나열이 아닌, 실습 중심의 예제와 구성으로 초보자도 실제 업무에 곧바로 적용할 수 있는 실전 감각을 기를 수 있다. 이미지 빌드, 다중 컨테이너 구성, 쿠버네티스를 통한 오케스트레이션 전략까지, 실무에 꼭 필요한 기술들을 풍부하게 담았다.
이번 개정신판은 변화한 최신 생태계를 반영하여 내용을 전면 수정·보완하였으며, 저자의 실무 경험과 기술적 통찰이 더해져 더욱 깊이 있고 실용적인 지침서를 완성했다. 개념 학습을 넘어 개발과 운영에 필요한 사고방식을 형성하고, 실무에 컨테이너 기술을 적용할 수 있을 것이다.
초보자부터 실무자까지, 컨테이너 기술을 제대로 배우고 싶은 모든 개발자를 위한 친절하고도 실질적인 가이드다. 이 책과 함께 컨테이너 기술 여정의 첫걸음을 내디뎌보자!

주요 내용
● 컨테이너와 도커의 개념, 구조, 실행 원리
● 도커 이미지 빌드와 실행, 포트포워딩 실습
● 컴포즈를 이용한 다중 컨테이너 구성 및 실행
● 컨테이너 간 네트워크 연동과 마운트, 시크릿 관리
● 도커 기반 웹 애플리케이션과 API 서버 구축
● 실전 MySQL 데이터 스토어와 마이그레이터 컨테이너 설정
● 쿠버네티스를 통한 고가용성 운영 및 스케일링 전략
● 운영 환경에서의 보안 설정, 볼륨, 로그 수집 등 실무 기술




웹 애플리케이션 개발을 예로 들어보자. 컨테이너를 사용하면 로컬 개발 환경에 필요한 애플리케이션을 빠르게 준비할 수 있고 플랫폼에 상관없이 그대로 배포할 수 있다. 컨테이너마다 같은 실행 환경을 사용하므로 실행 환경에 따른 문제도 최소화할 수 있다. 또한 Apache나 nginx와 같은 웹서버도 복잡한 단계 없이 컨테이너에서 설정할 수 있다. 미들웨어를 포함한 시스템 구성 관리도 설정 파일에서 정의한다. 컨테이너를 도입하는 것만으로도 개발과 운영이 지금보다 더 간편해질 수 있다.

지금까지의 내용을 보면 모든 구조를 컨테이너로 변경하고 싶어질 수도 있지만 컨테이너가 모든 곳에 적합한 것은 아니다. 데이터 스토어와 같이 컨테이너를 사용하기에는 난이도가 높은 부분도 존재한다. / 최근에는 클라우드 플랫폼에서 부하가 적고 스케일링되는 매니지드 데이터 스토어도 서비스 중이므로, 무리해서 컨테이너를 사용하지 않아도 적절한 조합으로 사용할 수 있다. 어디까지나 적재적소에 적절한 기능을 선택하는 것이 중요하다. 웹서버나 API 서버와 같이 상태를 저장하지 않는 무상태(stateless) 특성의 서버는 많은 시간을 소비하지 않고도 컨테이너화할 수 있다. / 높은 이식성의 장점을 생각해보면 컨테이너 기술은 개발 환경이나 운영 환경에 모두 도입해야 좋은 효과를 볼 수 있다. 이미 많은 성공 케이스가 있으며, 클라우드 매니지드 서비스도 사용하기 쉽게 되어 있다.

  작가 소개

지은이 : 야마다 아키노리
주식회사 사이버 에이전트 소속. 개인방송 서비스 'FRESH LIVE'의 테크리드를 맡아 아키텍처 설계와 컨테이너를 이용한 개발을 주도함. 컨테이너 기술을 십분 활용한 진정한 애플리케이션 개발이 무엇인지 모색 중이다.

  목차

옮긴이 머리말 xiii
베타리더 후기 xiv
시작하며 xvi
감사의 글 xviii

CHAPTER 1 컨테이너와 도커 기초 1
1.1 컨테이너란? 1
__1.1.1 컨테이너형 가상화 2
__1.1.2 컨테이너 사용 사례 3
COLUMN 컨테이너의 단점 5
1.2 도커란? 5
__1.2.1 도커와 Docker, Inc.의 역사 6
__1.2.2 애플리케이션 배포에 초점을 맞춘 도커 7
__1.2.3 도커 접하기 8
COLUMN Moby 프로젝트 11
1.3 컨테이너를 사용하는 이유 11
__1.3.1 불변하는 애플리케이션과 실행 환경에 의한 재현성 확보 12
COLUMN 클라우드의 IaC와 Immutable Infrastructure 15
COLUMN 컨테이너 기술과 서버리스 플랫폼 16
__1.3.2 애플리케이션 구성 관리의 용이성 16
__1.3.3 환경과 상관없이 실행 가능한 높은 이식성 18
__1.3.4 컨테이너 기반 개발의 효율성 20
1.4 로컬 컨테이너 실행 환경 구축 20
__1.4.1 도커 데스크톱 설치 21
COLUMN ARM 아키텍처 24
__1.4.2 도커 데스크톱 설정 25
__1.4.3 도커 데스크톱 트러블슈팅 30
COLUMN Linux 환경 설치 32
COLUMN 도커의 구독 플랜 32

CHAPTER 2 컨테이너 배포 33
2.1 컨테이너로 애플리케이션 실행하기 33
__2.1.1 컨테이너 이미지와 컨테이너의 기초 34
2.2 간단한 애플리케이션과 컨테이너 이미지 만들기 37
__2.2.1 Dockerfile의 인스트럭션 39
COLUMN CMD 실행 시 덮어쓰기 40
COLUMN ENTRYPOINT로 커맨드 실행하는 방법 알아보기 42
COLUMN Dockerfile의 다른 인스트럭션 44
COLUMN CMD의 지정 방식 45
__2.2.2 컨테이너 실행하기 45
COLUMN 짧은 도커 커맨드 46
2.3 이미지 다루기 48
__2.3.1 docker image build ― 이미지 빌드 50
__2.3.2 docker search ― 이미지 검색 54
__2.3.3 docker image pull ― 이미지 가져오기 56
__2.3.4 docker image ls ― 이미지 리스트 57
__2.3.5 docker image tag ― 이미지 태그 57
__2.3.6 docker login ― 컨테이너 레지스트리 로그인 60
__2.3.7 docker image push ― 이미지 공개 64
COLUMN GHCR에 컨테이너 이미지 공개하기 67
2.4 컨테이너 다루기 67
__2.4.1 컨테이너의 라이프 사이클 68
__2.4.2 docker container run ― 컨테이너 생성과 실행 69
COLUMN 커맨드 실행 시 자주 사용되는 옵션 71
__2.4.3 docker container ls ― 컨테이너 리스트 72
__2.4.4 docker container stop ― 컨테이너 중지 74
__2.4.5 docker container rm ― 컨테이너 파기 74
__2.4.6 docker container logs ― 로그(표준 스트림 출력) 확인하기 76
__2.4.7 docker container exec ― 실행 중인 컨테이너에서 커맨드 실행 77
__2.4.8 docker container cp ― 파일 복사 78
2.5 운영 관리를 위한 커맨드 79
__2.5.1 prune ― 파기 79
__2.5.2 docker container stats ― 사용 상태 가져오기 80
2.6 도커 컴포즈 81
__2.6.1 도커 컴포즈를 사용한 단일 컨테이너 실행 81
__2.6.2 컴포즈를 사용해 여러 컨테이너 실행하기 84

CHAPTER 3 실용적인 컨테이너의 구축과 배포 93
3.1 애플리케이션과 컨테이너의 구성 93
__3.1.1 하나의 컨테이너 = 하나의 프로세스? 95
__3.1.2 하나의 컨테이너에 하나의 관심사 98
3.2 컨테이너의 이식성 100
__3.2.1 커널 및 아키텍처와의 차이 100
COLUMN Windows에서 동작하는 컨테이너 101
__3.2.2 라이브러리, 동적 링크 101
3.3 컨테이너 친화적인 애플리케이션 102
__3.3.1 설정 파일을 포함하여 이미지 빌드하기 103
__3.3.2 컨테이너 외부의 설정 파일 사용하기 103
COLUMN 컨테이너 친화적인 프로덕트만 있는 것은 아니다. 107
3.4 보안 정보를 다루는 방법 107
__3.4.1 보안 정보를 받는 컨테이너 107
__3.4.2 버전 관리 시스템과 보안 정보 관리의 어려움 108
__3.4.3 시크릿을 사용한 보안 정보 관리 109
COLUMN 소프트웨어 공급망 공격 111
__3.4.4 완벽한 대책은 존재하지 않는다 111
3.5 영속성 데이터의 사용 방법 112
__3.5.1 Data Volume 112
__3.5.2 Data Volume 컨테이너 114

CHAPTER 4 여러 컨테이너의 구성을 통한 애플리케이션 구축 119
4.1 웹 애플리케이션 구성 119
__4.1.1 애플리케이션 스펙 120
__4.1.2 아키텍처 120
4.2 MySQL 구축 123
__4.2.1 MySQL에 접속하는 유저의 비밀번호 생성하기 124
__4.2.2 MySQL 컨테이너 추가 설정하기 125
__4.2.3 MySQL의 Dockerfile 126
__4.2.4 MySQL 컨테이너의 구성 설정하기 126
4.3 데이터베이스 마이그레이터 구축 128
__4.3.1 golang-migrate로 데이터베이스 마이그레이션하기 128
__4.3.2 마이그레이션 실행 스크립트 131
__4.3.3 데이터베이스 마이그레이터의 Dockerfile 132
COLUMN .dockerignore 파일 134
__4.3.4 데이터베이스 마이그레이터 컨테이너의 구성 설정하기 134
4.4 API 서버와 웹서버 구축 139
__4.4.1 리포지터리 디렉터리 구성 140
COLUMN 폴리레포와 모노레포 142
__4.4.2 실행 파일과 커맨드 상세 142
__4.4.3 API 서버의 구축 144
__4.4.4 웹서버 구축 151
4.5 리버스 프록시 구축 158
__4.5.1 nginx 컨테이너의 템플릿 구조 159
COLUMN entrykit 163
__4.5.2 Dockerfile 163
4.6 여러 컨테이너를 구성하여 작업 관리 앱 실행하기 164
__4.6.1 compose.yaml 164
__4.6.2 작업 관리 앱 실행하기 170
4.7 Tilt로 여러 컨테이너 구성을 통한 개발 경험 향상 171
__4.7.1 Tilt 실행 171
__4.7.2 Tilt의 강력한 기능 172
4.8 컨테이너 오케스트레이션 기초 정리 176

CHAPTER 5 쿠버네티스 입문 177
5.1 쿠버네티스란? 178
__5.1.1 도커의 번성과 쿠버네티스의 탄생 178
__5.1.2 쿠버네티스의 위상 179
5.2 로컬 환경에서 쿠버네티스 실행하기 181
__5.2.1 도커 데스크톱에서 로컬 쿠버네티스 환경 구축하기 181
COLUMN 다른 쿠버네티스 구축 도구 187
5.3 쿠버네티스 개요 187
5.4 쿠버네티스 클러스터와 노드 188
COLUMN 컨트롤 플레인을 구성하는 관리 컴포넌트 190
5.5 네임스페이스 191
5.6 파드 192
__5.6.1 파드 생성하고 배포하기 193
__5.6.2 파드 조작하기 195
COLUMN 파드와 파드 내부 컨테이너의 주소 197
5.7 레플리카셋 197
5.8 디플로이먼트 199
__5.8.1 레플리카셋 라이프 사이클 202
__5.8.2 롤백 실행하기 204
5.9 서비스 205
__5.9.1 레이블 셀렉터를 사용한 트래픽 라우팅 208
COLUMN 서비스의 이름 분석 211
__5.9.2 ClusterIP 서비스 211
__5.9.3 Headless 서비스 211
__5.9.4 NodePort 서비스 213
__5.9.5 LoadBalancer 서비스 214
__5.9.6 ExternalName 서비스 214
5.10 인그레스 215
__5.10.1 인그레스 컨트롤러와 인그레스 클래스 215
__5.10.2 인그레스를 통한 액세스 216
COLUMN kubectl로 리소스 타입과 리소스명을 지정하는 방법 221
COLUMN Tilt로 매니페스트 파일의 업데이트를 감지하고, 자동으로 리소스 업데이트하기 222
COLUMN kk9s 223
COLUMN 쿠버네티스 API 224

CHAPTER 6 쿠버네티스 배포와 클러스터 구축 226
6.1 작업 관리 앱 구성 226
__6.1.1 작업 관리 앱을 구성하는 쿠버네티스 리소스 227
6.2 작업 관리 앱을 쿠버네티스에 배포하기 227
__6.2.1 네임스페이스 228
__6.2.2 시크릿 228
__6.2.3 MySQL 배포 232
COLUMN 스테이트풀셋의 serviceName 237
__6.2.4 데이터베이스 마이그레이터 배포 238
__6.2.5 API 서버 배포 241
__6.2.6 웹서버 배포 245
6.3 쿠버네티스 애플리케이션 온라인에 공개하기 251
__6.3.1 Azure Kubernetes Service 배포 251
COLUMN 자체 도메인과 HTTPS로 애플리케이션 공개하기 257
COLUMN kubectx 259

CHAPTER 7 쿠버네티스 활용 260
7.1 파드 배포 전략 260
__7.1.1 RollingUpdate 261
COLUMN 리소스의 일부를 업데이트하는 kubectl patch 커맨드 266
__7.1.2 컨테이너 실행 시 상태 체크 설정하기 268
COLUMN 안전하게 애플리케이션을 중지하고 파드 삭제하기 271
__7.1.3 Blue-Green Deployment 272
COLUMN 서비스 메시를 구현하는 프로덕트 277
7.2 쿠버네티스에서 정기적인 배치 작업 실행하기 278
__7.2.1 크론잡 278
__7.2.2 타임존을 고려한 크론잡 실행 284
__7.2.3 크론잡에서 잡을 일회성으로 실행하기 284
7.3 유저 관리와 Role-Based Access Control(RBAC) 285
__7.3.1 RBAC를 사용해 권한 제어 구현하기 286
__7.3.2 클러스터 롤 생성 288
__7.3.3 서비스 어카운트 생성 290
__7.3.4 클러스터 롤 바인딩 생성 291
__7.3.5 일반 유저 294

CHAPTER 8 쿠버네티스 애플리케이션 패키징 299
8.1 Kustomize 300
__8.1.1 기본적인 사용 방법 301
COLUMN 권장하지 않는 commonLabels 309
__8.1.2 재사용과 부분 오버레이 310
__8.1.3 Kustomize에서 시크릿 다루기 315
__8.1.4 네트워크를 경유해서 매니페스트 생성하기 321
8.2 Helm 323
__8.2.1 Helm 설치 324
__8.2.2 Helm Chart와 리포지터리 325
__8.2.3 Chart 설치하기 328
__8.2.4 자체 Chart 생성하기 332
COLUMN 쿠버네티스의 권장 레이블 347
__8.2.5 Chart를 레지스트리에 등록하기 347
COLUMN GHCR의 패키지와 리포지터리 연결하기 351
COLUMN Open Container Initiative(OCI) 353

CHAPTER 9 컨테이너 운영 354
9.1 로그 운영 354
__9.1.1 컨테이너 로그 354
__9.1.2 컨테이너 로그 운영 358
__9.1.3 Elastic Stack에 의한 로그 수집, 관리 구성의 구축 360
COLUMN 안정화된 Elasticsearch 선택하기 384
COLUMN 클라우드의 자체 로그 관리 385
__9.1.4 stern 385
9.2 가용성이 높은 쿠버네티스 운영 387
__9.2.1 노드 장애 시 쿠버네티스 동작 387
__9.2.2 Pod AntiAffinity를 통해 장애 저항성이 뛰어난 파드 배포 전략 388
__9.2.3 CPU를 많이 사용하는 파드를 Node Affinity로 분리하기 394
__9.2.4 Horizontal Pod Autoscaler를 사용한 파드의 오토스케일 399
__9.2.5 Cluster Autoscaler를 사용한 노드의 오토 스케일 401
COLUMN 쿠버네티스 클러스터와 노드 운영을 가볍게 하는 구조 402

CHAPTER 10 최적의 컨테이너 이미지 생성과 운영 403
10.1 운영에 최적인 컨테이너 이미지란? 403
__10.1.1 이미지 사이즈 증가로 인해 발생하는 문제 404
10.2 경량 베이스 이미지 404
__10.2.1 scratch 405
__10.2.2 BusyBox 411
__10.2.3 Alpine Linux 415
COLUMN Alpine Linux 베이스 이미지의 사용 여부 417
__10.2.4 Distroless 418
10.3 경량 컨테이너 이미지 생성하기 423
__10.3.1 배포하는 애플리케이션의 사이즈 줄이기 423
__10.3.2 컨테이너 이미지의 레이어 구조 의식하기 424
10.4 Multi-stage builds 428
__10.4.1 빌드 컨테이너와 실행 컨테이너 나누기 429
COLUMN 외부 이미지를 스테이지로 사용하기 432
10.5 BuildKit 433
__10.5.1 BuildKit이란? 433
__10.5.2 컨테이너의 멀티 플랫폼 대응 433
__10.5.3 BuildKit으로 멀티 플랫폼에 대응하는 이미지 빌드하기 435
COLUMN QEMU 436
COLUMN 멀티 플랫폼 이미지는 어디까지 대응해야 할까? 441
10.6 안전한 컨테이너 이미지의 사용과 생성 441
__10.6.1 컨테이너 이미지를 최소한으로 구성하기 442
__10.6.2 권한 모드로 실행 피하기 442
__10.6.3 root 유저로 실행 피하기 442
__10.6.4 신뢰할 수 있는 컨테이너 이미지와 도구 사용하기 446
__10.6.5 Trivy로 컨테이너 이미지 취약성 체크하기 448
10.7 CI 도구로 컨테이너 이미지 빌드하기 451
__10.7.1 GitHub Actions 452
__10.7.2 템플릿에서 리포지터리 생성하기 453
__10.7.3 워크플로 설정 455
__10.7.4 워크플로 실행 460
COLUMN 운영에서는 latest 이미지 태그 피하기 464

CHAPTER 11 컨테이너의 지속적 전달 465
11.1 지속적 전달이란? 465
__11.1.1 다듬어지지 않은 배포 프로세스가 일으키는 문제 465
__11.1.2 소프트웨어 전달의 중요성과 CI/CD 구분 466
__11.1.3 GitOps 방식의 지속적 전달 467
11.2 Flux 469
__11.2.1 Flux 설치 469
__11.2.2 애플리케이션 배포 470
11.3 Argo CD 475
__11.3.1 Argo CD 설치 475
__11.3.2 애플리케이션 배포 478
11.4 PipeCD 484
__11.4.1 PipeCD의 특징 484
__11.4.2 퀵 스타트 환경 구축 485
__11.4.3 애플리케이션 배포 489
COLUMN PipeCD에서 Control Plane과 Piped를 각각 구축하는 이유 493
11.5 소프트웨어 전달의 완전 자동화 495
__11.5.1 매니페스트로 정의하는 컨테이너 이미지 태그를 자동 업데이트하기 495
COLUMN GitOps에 승인 프로세스 넣기 507

CHAPTER 12 컨테이너의 다양한 활용 방법 508
12.1 팀 개발에서 개발 환경을 통일하고 공유하기 508
__12.1.1 사용하는 소프트웨어와 도구 통일하기 508
__12.1.2 개발 환경과 집단 지성 510
COLUMN 컨테이너가 Vagrant를 대체할 수 있을까? 511
12.2 커맨드 라인 도구를 컨테이너에서 사용하기 512
__12.2.1 Trivy를 컨테이너에서 실행하기 512
__12.2.2 셸 스크립트를 컨테이너에서 실행하기 515
12.3 부하 테스트 517
__12.3.1 Locust 개요 517
__12.3.2 쿠버네티스에서 애플리케이션의 부하 테스트 518
COLUMN k6에서 부하 테스트 실행 526

APPENDIX A 개발 도구 셋업 528
A.1 WSL2 528
__A.1.1 WSL2의 조건 529
__A.1.2 WSL2의 설치 529
__A.1.3 WSL2로 사용할 수 있는 배포판 530
__A.1.4 make 설치 531
COLUMN WSL2를 사용하는 개발 스타일 정착 532
A.2 asdf 532
__A.2.1 asdf란? 533
__A.2.2 asdf 설치 533
__A.2.3 도구 설치 534
__A.2.4 사용하는 버전 설정 534
A.3 kind 535
__A.3.1 kind 설치 536
__A.3.2 멀티 노드의 쿠버네티스 클러스터를 로컬 환경에 구축하기 536
COLUMN Docker in Docker / Container in Container 538
A.4 Rancher Desktop 538

APPENDIX B 다양한 컨테이너 오케스트레이션 환경 542
B.1 Google Kubernetes Engine 542
__B.1.1 GKE 클러스터의 구축 준비 543
__B.1.2 GKE 클러스터 구축 545
B.2 Amazon Elastic Kubernetes Service 548
__B.2.1 EKS 클러스터 구축 준비 548
__B.2.2 eksctl을 사용해 EKS 클러스터 구축 550
COLUMN EKS on Fargate 555
B.3 Azure Kubernetes Service 556
__B.3.1 AKS 클러스터의 구축 준비 557
__B.3.2 AKS 클러스터 구축 559
__B.3.3 AKS 클러스터 조작 560
B.4 온프레미스 환경에서 쿠버네티스 클러스터 구축 561
__B.4.1 온프레미스 클러스터 구축 준비 561
__B.4.2 kubespray를 사용해 EKS 클러스터 구축 563
B.5 Amazon Elastic Container Service 566
__B.5.1 CDK로 ECS 클러스터 생성과 컨테이너 배포 정의하기 567
__B.5.2 CDK로 ECS 클러스터를 생성하고 컨테이너 배포하기 569
COLUMN Amazon ECS Anywhere 571

APPENDIX C 컨테이너 개발과 운영 팁 572
C.1 컨테이너 런타임 572
__C.1.1 containerd 573
COLUMN 쿠버네티스의 도커 deprecated 소동 574
C.1.2 nerdctl 574
C.2 쿠버네티스 팁 575
__C.2.1 이페머럴 컨테이너를 통한 기존 파드 디버깅 575
__C.2.2 Pod Security Admission을 사용한 보안 강화 578
COLUMN Open Policy Agent 581
C.3 컨테이너 개발, 배포 팁 581
__C.3.1 Compose Watch로 컨테이너 자동 업데이트하기 581
__C.3.2 Tilt로 쿠버네티스 애플리케이션 다루기 583
C.4 생성형 AI를 활용한 컨테이너 개발 효율화 585
__C.4.1 ChatGPT 활용하기 586
__C.4.2 GitHub Copilot 활용하기 587
C.5 Alpine Linux 패키지 매니저 apk 589
__C.5.1 패키지 매니저 apk 조작하기 589
__C.5.2 alpine-sdk 패키지 592

참고 문헌 593
찾아보기 595

  회원리뷰

리뷰쓰기

    이 분야의 신상품