최신 버전의 docker engine을 무조건 업데이트?
1) 기존 기능의 개선 및 new feature
- docker는 플랫폼의 기능과 유용성을 개선하는 새로운 기능 및 개선 사항이 포함된 업데이트를 정기적으로 릴리즈하여 새로운 docker 기능을 도입 -> 모든 작업의 workflow를 단순화 할 수 있음.
2) 버그 수정
- docker에도 다른 소프트웨어 처럼 버그 또는 예기치 못한 버그가 발생함. 발견된 버그를 해결하여 안정성 및 성능을 개선하는 수정사항을 제공.
3) 보안 패치
- 널리 사용되고 있는 컨테이너화 플랫폼인 docker는 보안 취약성에 대해 지속적으로 inspect되어, 최신 버전의 docker를 사용하면 최신 보안 패치를 사용하여 잠재적 악용 위험을 최소화하고 컨테이너화 된 애플리케이션의 전반적인 보안 태세를 개선할 수 있음.
4) 성능 개선.
- docker 업데이트에 종종 성능 최적화가 포함되어 있기 때문에 작업을 더 빠르고 효율적으로 만듦. 이러한 개선 사항은 컨테이너 시간 단축, 네트워킹 및 I/O 성능 향상, 전반적인 리소스 활용도 향상으로 이어질 수 있음. 즉, 최신성을 갖는 docker는 컨테이너화 된 애플리케이션을 최적화할 수 있음.
5) 최신 기술과의 호환성
- 기술 환경은 지속적으로 발전하고 있으며 새로운 도구와 프레임워크가 새롭게 생겨나고 있음. 최신 버전의 Docker를 사용하여 최신기술과의 호환성이 보장되어 컨테이너 환경에서 새로운 최신 tool들을 활용할 수 있음.
6) 커뮤니티 및 생태계 지원
- docker의 발전은 주변 생태계의 발전에 영향을 줌. 인기있는 도구 및 라이브러리 들은 docker 기능 및 버전을 지원하도록 업데이트되고, 최신 버전의 docker를 사용하여 docker 기반 플러그인 및 통합을 활용해 컨테이너화 된 application을 build 및 관리하기 위한 옵션을 사용 가능.
7) 유지 관리 및 오랜 기간 동안의 지원
- docker는 일부 release를 장기지원(LTS) 버전으로 지정하는 관리체계를 따름. LTS 버전은 버그 수정 및 보안 패치를 포함하여 확장된 유지 관리 및 지원을 받아 중요한 프로덕션 환경에 적합하기 때문에 최신 Docker를 사용하면 장기적인 요구 사항에 대해 안정적이고 잘 지원되는 docker 환경을 보장 받을 수 있음.
Docker 버전 업데이트 시,
1) 기존에 실행 중이던 컨테이너들을 stop 함.
2) 현재 사용 중인 19.x 버전의 docker엔진을 삭제함.
3) 최신 버전의 docker 엔진을 설치.
4)기존 버전에서 운영중 이였던 컨테이너 재기동(start)
5) if, error 발생 시 원인 파악, 문제 해결 -> 중지되었던 컨테이너 start
6) 필요에 따라 Ubuntu Linux도 18.04 -> 22.04로 upgrade 진행.
docker version

sudo pat -y remove docker-ce
새로운 docker engine 설치 후 컨테이너 다시 실행.