Docker Engine 17.07 릴리스 노트

Docker Engine 17.07 릴리스 노트

이번 17.07.0-ce 릴리스는 API와 클라이언트, 빌더, 로깅, 런타임, 스웜 모드 전반에 걸쳐 다양한 개선과 버그 수정이 포함됐어요. 특히 docker login의 비밀번호 입력 방식 개선, overlay2 스토리지 드라이버의 quota 지원, 그리고 LCOW(Linux Containers on Windows) 준비 작업이 눈에 띄네요. 하나씩 자세히 살펴볼게요.

출처: 공식문서

API & Client

  • config.json에서 프록시 설정을 지원하게 됐어요. docker/cli#93
  • 기본적으로 pprof/debug 엔드포인트가 활성화됐어요. moby/moby#32453
  • docker login에서 새로 추가된 --password-stdin 플래그를 사용하면 비밀번호를 STDIN으로 전달할 수 있게 됐어요. docker/cli#271
  • docker scale--detach 옵션이 추가됐어요. docker/cli#243
  • 존재하지 않는 컨테이너 때문에 docker logs --no-stream가 멈추는 문제를 방지했어요. moby/moby#34004
  • docker stack ps가 오류를 stderr 대신 stdout으로 출력하던 문제를 고쳤어요. docker/cli#298
  • docker service create 중 배포 오류가 발생했을 때 진행 표시줄이 멈추던 문제를 수정했어요. docker/cli#259
  • 대화형 모드에서 진행 표시줄 표시를 개선했어요. docker/cli#260 docker/cli#237
  • docker login --password를 사용하면 경고를 출력하고 --password-stdin을 권장하도록 했어요. docker/cli#270
  • API 버전 협상을 더 견고하게 만들었어요. moby/moby#33827
  • Docker 17.05보다 오래된 데몬에 연결된 경우 --detach 옵션을 숨기도록 했어요. docker/cli#219
  • GET /networks/(id or name)scope 필터를 추가했어요. moby/moby#33630

Builder

Logging

  • 로그 파일 회전 시 잘못된 파일 모드를 수정했어요. moby/moby#33926
  • journald와 syslog에서 stderr 로깅이 제대로 동작하지 않던 문제를 고쳤어요. moby/moby#33832

Runtime

  • 일시 중지된 컨테이너를 중지할 수 있게 됐어요. moby/moby#34027
  • overlay2 스토리지 드라이버에 quota 지원을 추가했어요. moby/moby#32977
  • docker ps 실행 시 컨테이너 잠금을 제거했어요. moby/moby#31273
  • 컨테이너 이름을 memdb에 저장하도록 변경했어요. moby/moby#33886
  • docker execdocker pause 사이의 경쟁 조건을 수정했어요. moby/moby#32881
  • Devicemapper: 로깅을 재작업하고 --storage-opt dm.libdm_log_level 옵션을 추가했어요. moby/moby#33845
  • Devicemapper: 지연 제거(deferred removal)는 활성화됐지만 지연 삭제(deferred deletion)가 아닌 경우 "device in use" 오류를 방지했어요. moby/moby#33877
  • Devicemapper: 사용 중인 작업이 가비지 컬렉션되지 않도록 KeepAlive를 사용하도록 했어요. moby/moby#33376
  • prune이 취소되면 중간 결과를 보고하도록 했어요. moby/moby#33979
  • docker rename <container-id> new_name을 동시에 실행하면 여러 이름이 생기던 문제를 고쳤어요. moby/moby#33940
  • 파일 디스크립터 누수와 오류 처리를 수정했어요. moby/moby#33713
  • 컨테이너 실행 시 발생하던 SIGSEGV 오류를 수정했어요. docker/cli#303
  • healthcheck가 중지될 때 고루틴 누수를 방지했어요. moby/moby#33781
  • 이미지 저장소 잠금을 개선했어요. moby/moby#33755
  • 컨테이너가 삭제될 때 Btrfs quota 그룹이 제거되지 않던 문제를 고쳤어요. moby/moby#29427
  • Libcontainerd: 좀비 상태의 containerd 프로세스가 제대로 정리되지 않던 문제를 고쳤어요. moby/moby#33419
  • Windows에서 Linux 컨테이너(LCOW)를 지원하기 위한 준비 작업을 했어요.
    • LCOW: 서비스 VM 유틸리티 전용 스크래치 공간을 추가했어요. moby/moby#33809
    • LCOW: 원격 파일시스템을 제외한 대부분의 작업을 지원하게 됐어요. moby/moby#33241 moby/moby#33826
    • LCOW: 디렉터리 이름을 lcow에서 "Linux Containers"로 변경했어요. moby/moby#33835
    • LCOW: 명령 인자를 추가 인용 없이 전달하도록 했어요. moby/moby#33815
    • LCOW: 플랫폼 스키마 변경에 따른 업데이트를 반영했어요. moby/moby#33785

Swarm mode

  • 플러그형 시크릿 백엔드에 대한 초기 지원을 추가했어요. moby/moby#34157 moby/moby#34123
  • swarm 스택과 노드를 자연 정렬 방식으로 정렬하도록 했어요. docker/cli#315
  • 엔진이 클러스터 구성 이벤트를 지원하도록 했어요. moby/moby#34032
  • 클러스터에 조인하는 과정에서만 조인 주소를 전달하도록 했어요. moby/moby#33361
  • 같은 이름의 네트워크가 "local"과 "swarm" 범위로 모두 존재할 때 서비스 생성 중 발생하던 오류를 수정했어요. docker/cli#184
  • (실험적) swarm에서 플러그인을 지원하도록 추가했어요. moby/moby#33575

더 알아보기

이번 릴리스의 전체 변경 사항과 세부 내용은 Docker Engine 17.07 공식 릴리스 노트에서 확인할 수 있어요.