navis
Docker Update 본문
728x90
최신 버전의 Docker 엔진을 무조건 업데이트해야 하나?
Docker 버전 변화
Docker는 20.x 버전에서 23.x 버전을 빠르게 지나 현재 24.x 버전까지 업데이트된 상태입니다. 모든 소프트웨어의 새로운 버전은 새로운 기능, 버그 수정, 보안 패치를 포함하여 제작됩니다. Docker 문서에서는 최신 버전의 장점을 다음과 같이 밝히고 있습니다.
최신 버전 Docker 엔진의 장점
- 기존 기능의 개선 및 새로운 기능 도입
- Docker는 플랫폼의 기능과 유용성을 개선하는 새로운 기능 및 개선 사항이 포함된 업데이트를 정기적으로 릴리스합니다. 이를 통해 워크플로우를 단순화할 수 있습니다.
- 버그 수정
- Docker도 다른 소프트웨어처럼 예기치 못한 버그가 발생할 수 있습니다. 발견된 버그를 해결하여 안정성과 성능을 개선하는 수정 사항을 제공합니다. 최신 상태로 유지하면 원활한 작업을 보장받을 수 있습니다.
- 보안 패치
- Docker는 보안 취약성에 대해 지속적으로 검사됩니다. 최신 버전의 Docker를 사용하면 최신 보안 패치를 통해 잠재적 악용 위험을 최소화하고 전반적인 보안 태세를 개선할 수 있습니다.
- 성능 개선
- Docker 업데이트에는 종종 성능 최적화가 포함되어 있어 작업을 더 빠르고 효율적으로 만듭니다. 이러한 개선 사항은 컨테이너 실행 시간 단축, 네트워킹 및 I/O 성능 향상, 전반적인 리소스 활용도 향상으로 이어질 수 있습니다.
- 최신 기술과의 호환성
- 기술 환경은 지속적으로 발전하고 있으며, 새로운 도구와 프레임워크가 계속 생겨나고 있습니다. 최신 버전의 Docker를 사용하여 최신 기술과의 호환성을 보장받아 컨테이너 환경에서 새로운 도구들을 활용할 수 있습니다.
- 커뮤니티 및 생태계 지원
- Docker의 발전은 주변 생태계의 발전에 영향을 줍니다. 인기 있는 도구 및 라이브러리는 Docker 기능 및 버전을 지원하도록 업데이트됩니다. 최신 버전의 Docker를 사용하여 다양한 플러그인 및 통합을 활용할 수 있습니다.
- 유지 관리 및 장기 지원 (Long Term Support)
- Docker는 일부 릴리스를 장기 지원(LTS) 버전으로 지정하여 관리합니다. LTS 버전은 버그 수정 및 보안 패치를 포함한 확장된 유지 관리 및 지원을 받아 중요한 프로덕션 환경에 적합합니다.
참고 링크
실습 내용 소개
시나리오
현재 F사는 Ubuntu 18.04 운영체제에 Docker 19.x 버전을 사용 중입니다. 새로운 기능의 호환성을 맞추고 성능 향상을 위해 최신 버전 업데이트를 결정했습니다. 작업 절차는 다음과 같습니다.
- 기존에 실행 중인 컨테이너들을 중지합니다.
- 현재 사용 중인 19.x 버전의 Docker 엔진을 삭제합니다.
- 최신 버전의 Docker 엔진을 설치합니다.
- 기존 버전에서 운영 중이던 컨테이너를 다시 시작합니다.
- 에러 발생 시 원인 파악 및 문제 해결 후 중지되었던 컨테이너를 다시 시작합니다.
- 필요에 따라 Ubuntu Linux도 18.04에서 22.04로 업그레이드합니다. (실습에서는 제외)
Docker 엔진 업데이트
현재 시스템 상태 확인
jeff@hostos3:~$ uname -ar
Linux hostos3 4.15.0-66-generic #75~Ubuntu SMP Tue Oct 1 05:24:09 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
jeff@hostos3:~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
jeff@hostos3:~$ docker version
Client: Docker Engine - Community
Version: 19.03.4
API version: 1.40
Go version: go1.12.10
Git commit: 9013bf583a
Built: Fri Oct 18 15:53:51 2019
Server: Docker Engine - Community
Engine:
Version: 19.03.4
샘플 컨테이너 실행
jeff@hostos3:~$ docker run -d -p 9001:80 --name=nginx-web nginx:1.19
jeff@hostos3:~$ docker run -d -p 9002:80 --name=httpd-web httpd:2.4
jeff@hostos3:~$ docker ps
Docker 엔진 업데이트 절차
- 컨테이너 중지 및 Docker 제거
jeff@hostos3:~$ sudo apt update jeff@hostos3:~$ sudo apt -y remove docker-ce
- 필수 패키지 설치 및 Docker 최신 버전 설치 준비
jeff@hostos3:~$ sudo apt -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
- GPG 키 다운로드 및 Docker 리포지토리 등록
jeff@hostos3:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg jeff@hostos3:~$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - jeff@hostos3:~$ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null jeff@hostos3:~$ sudo apt update
- 최신 버전 Docker 설치 및 확인
jeff@hostos3:~$ sudo apt -y install docker-ce docker-ce-cli containerd.io jeff@hostos3:~$ docker --version Docker version 24.0.2, build cb74dfc
- 기존 컨테이너 다시 실행
jeff@hostos3:~$ docker start nginx-web
jeff@hostos3:~$ docker start httpd-web
jeff@hostos3:~$ docker ps -a
마무리
이번 포스팅에서는 Docker 엔진의 최신 버전으로 업데이트하는 이유와 실제 업데이트 절차에 대해 다뤄보았습니다. Docker를 최신 버전으로 유지하면 기능 개선, 버그 수정, 보안 패치, 성능 향상, 최신 기술과의 호환성 등 여러 가지 장점을 누릴 수 있습니다. 따라서 Docker를 안정적이고 효율적으로 사용하기 위해서는 최신 버전으로 업데이트하는 것이 권장됩니다.
'docker' 카테고리의 다른 글
Docker 컨테이너 관리 (0) | 2024.07.09 |
---|---|
Docker 이미지관리 (0) | 2024.07.04 |
Docker 환경 구성 단계 (0) | 2024.06.30 |
컨테이너 가상화 이해 (0) | 2024.06.30 |
Docker (0) | 2024.06.11 |