Docker Engine 18.04 릴리스 노트

Docker Engine 18.04 릴리스 노트

Docker Engine 18.04.0-ce 릴리스 노트를 함께 살펴볼게요. 2018년 4월 10일에 배포된 이 버전은 빌더, 클라이언트, 로깅, 네트워킹, 런타임, 스웜 모드 전반에 걸쳐 다양한 개선과 버그 수정이 포함되어 있어요. 하나씩 차근차근 알아볼게요.

출처: 공식문서

빌더 (Builder)

클라이언트 (Client)

  • version 명령어에서 Stack API와 Kubernetes 버전도 함께 출력되도록 했어요. docker/cli#898
  • version 명령어에서 Kubernetes 정보가 중복 출력되던 문제를 고쳤어요. docker/cli#953
  • 도움말에서 Options를 표시할 때 HasFlags 대신 HasAvailableFlags를 사용하도록 변경했어요. docker/cli#959
  • stack deploy에서 필수 변수를 지원하도록 추가했어요. docker/cli#893
  • docker stack services 명령어의 Port 출력 문제를 수정했어요. docker/cli#943
  • 암호화되지 않은 저장소는 더 이상 권장하지 않게 되었어요(deprecate). docker/cli#561
  • ConfigFile에 기본 파일명을 설정하지 않도록 했어요. docker/cli#917
  • compose 네트워크 이름 관련 문제를 고쳤어요. docker/cli#941

로깅 (Logging)

  • 로그인할 때 자격 증명 저장소(cred store)에 있는 자격 증명을 사용해서 조용히(silent) 로그인할 수 있게 했어요. docker/cli#139
  • 로그 파일 압축 기능을 지원하도록 추가했어요. moby/moby#29932
  • non-blocking 로깅 모드에서 LogPath가 비어 있던 문제를 수정했어요. moby/moby#36272

네트워킹 (Networking)

  • ingress 네트워크를 명시적으로 제거하지 못하도록 막았어요. moby/moby#36538

런타임 (Runtime)

  • Devmapper 정리(cleanup) 작업을 개선했어요. moby/moby#36307
  • Devmapper.Mounted를 제거했어요. moby/moby#36437
  • Devmapper/Remove()에서 Rmdir을 사용하고 오류를 무시하도록 변경했어요. moby/moby#36438
  • LCOW(Linux Containers on Windows)에서 플랫폼 파서 지시문을 FROM 문 플래그로 변경했어요. moby/moby#35089
  • daemon 서비스 코드를 Windows 전용 파일로 분리했어요. moby/moby#36653
  • Windows: 상위 레벨(uplevel) 이미지 풀링을 차단했어요. moby/moby#36327
  • Windows: PR #36586 병합 후 Hyper-V 컨테이너가 깨지던 문제를 수정했어요. moby/moby#36610
  • Windows: kernel_windows가 golang 레지스트리 함수를 사용하도록 변경했어요. moby/moby#36617
  • Windows: 컨테이너 종료 시 시스템 오류를 다시 전달하도록 했어요. moby/moby#35967
  • Windows: 서비스 모드(servicing mode)를 제거했어요. moby/moby#36267
  • Windows: 버전과 UBR을 보고하도록 했어요. moby/moby#36451
  • Runc를 1.0.0-rc5로 업그레이드했어요. moby/moby#36449
  • 마운트 실패 시 실패한 경로를 표시하도록 했어요. moby/moby#36407
  • errdefs.getImplementer()의 반환 값을 변경했어요. moby/moby#36489
  • Client: hijackedconn이 버퍼에서 읽을 때 발생하던 문제를 수정했어요. moby/moby#36663
  • 아카이브 요청에 콘텐츠 인코딩 협상(negotiation)을 추가했어요. moby/moby#36164
  • Daemon/stats: CPU 샘플링을 더 견고하게 개선했어요. moby/moby#36519
  • Daemon/stats: 불필요한 types 파일을 제거했어요. moby/moby#36494
  • Daemon: 새로운 오류를 만들지 말고 context 오류를 사용하도록 했어요. moby/moby#36670
  • amd64가 아닌 아키텍처에서도 CRIU를 사용할 수 있게 했어요(v2). moby/moby#36676
  • 연결된 컨테이너의 stdin을 닫은 후 클라이언트가 간헐적으로 멈추던 문제를 수정했어요. moby/moby#36517
  • 재시작 후 컨테이너 export 시 daemon에 panic이 발생하던 문제를 수정했어요. moby/moby#36586
  • multi-stage moby Dockerfile에 대한 후속 수정을 했어요. moby/moby#36425
  • Docker 이미지에서 busybox와 최신 glibc를 고정(freeze)했어요. moby/moby#36375
  • 컨테이너가 non-root 사용자로 실행될 경우 permitted와 effective capabilities를 일찍 제거하도록 했어요. moby/moby#36587
  • Layer: 메타데이터 저장소 인터페이스를 제거했어요. moby/moby#36504
  • dockerd에 사소한 최적화를 적용했어요. moby/moby#36577
  • statx syscall을 화이트리스트에 추가했어요. moby/moby#36417
  • 플러그인 생성 시 누락된 오류 반환을 추가했어요. moby/moby#36646
  • Exec 프로세스에 AppArmor가 적용되지 않던 문제를 수정했어요. moby/moby#36466
  • Daemon/logger/ring.go: 인스턴스가 아닌 오류를 로그하도록 수정했어요. moby/moby#36475
  • 수집된 stats가 없을 때 stats collector가 CPU를 계속 사용하던 문제를 수정했어요. moby/moby#36609
  • distribution: 인증 관련 digest 캐시를 이동하지 않도록 수정했어요. moby/moby#36509
  • 실패 시 플러그인 컨테이너가 확실히 제거되도록 했어요. moby/moby#36715
  • containerd를 1.0.3으로 업그레이드했어요. moby/moby#36749
  • 플러그인 마운트 슬라이스를 정렬하지 않도록 했어요. moby/moby#36711

스웜 모드 (Swarm Mode)

더 알아보기 (Learn more)