본문 바로가기
DevOps

최신 docker 엔진(ver) update

by Yoon_estar 2024. 3. 14.
728x90
반응형

최신 버전을 유지해야하는 이유

1. 기존 기능 개선 및 new feature
2. 버그 수정
3. 보안 패치
4. 성능 개선
5. 최신 기술과의 호환성
6. 커뮤니티 및 생태계 지원
7. 유지 관리 및 오랜 기간의 지

운용중인 Docker 엔진 업데이트

시나리오

ubuntu 18.04 운영 체제에 docker 19.x 버전을 사용 중이다.
새로운 기능의 호환성을 맞추고 성능 향상을 위해 최신 업데이트를 결정했다.

작업절차
1. 기존에 실행 중인 컨테이너들을 stop 한다.
2. 현재 사용 중인 19.x 버전의 docker 엔진을 삭제
3. 최신 버전의 docker 엔진을 설치
4. 기존 버전에서 운영 중이 였던 컨테이너 기동(start)
5. 에러 발생시 원인 파악, 문제해결 -> 중지 되었던 컨테이너 시작
6. 필요에 따라 ubuntu linux 18.04 -> 22.04로 업그레이

명령어

# uname
# cat /etc/os-release
# docker version
# docker run -d -p 9001:80 --name=nginx-web nginx:1.19
# docker run -d -p 9002:80 --name=httpd-web httpd:2.4
# docker ps

참고

docker 엔진 update 전에 해당 컨테이너를 stop하거나, docker 삭제 시 자동 강제 stop 됨
현재 사용중인 docker-cd 19 버전 삭제

기존 도커 삭제 후 최신 버전 docker 설치

# apt update
# sudo apt -y remove docker-ce
# apt -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

gpg key download

# curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

docker repository 등록 및 docker 설치

# 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

# cat /etc/apt/sources.list.d/docker.list
deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] <https://download.docker.com/linux/ubuntu> jammy stable

!! 최신 docker 설치 및 확인

# apt update
# apt -y install docker-ce docker-ce-cli containerd.io

# docker --version
Docker version 25.0.4, build 1a576c5

# docker version
# docker ps -a

이전 버전에서 실행 중 이던 컨테이너를 실행 시킨다.

  • 모두 종료 되어 있다가 start를 해주니 실행되었다.
# docker ps
CONTAINER ID   IMAGE                    COMMAND                   CREATED       STATUS         PORTS                                       NAMES
cecce18a35ab   google/cadvisor:latest   "/usr/bin/cadvisor -…"   2 weeks ago   Up 5 minutes   0.0.0.0:9559->8080/tcp, :::9559->8080/tcp   cadvisor

# docker start nginx-web
# docker start httpd-web

# docker ps 
CONTAINER ID   IMAGE                    COMMAND                   CREATED          STATUS          PORTS                                       NAMES
e14d8706f37d   httpd:2.4                "httpd-foreground"        18 minutes ago   Up 2 seconds    0.0.0.0:9002->80/tcp, :::9002->80/tcp       httpd-web
ffe8f193c57a   nginx:1.19               "/docker-entrypoint.…"   19 minutes ago   Up 11 seconds   0.0.0.0:9001->80/tcp, :::9001->80/tcp       nginx-web
cecce18a35ab   google/cadvisor:latest   "/usr/bin/cadvisor -…"   2 weeks ago      Up 3 minutes    0.0.0.0:9559->8080/tcp, :::9559->8080/tcp   cadvisor

# curl localhost:9001
# curl localhost:9002
반응형

'DevOps' 카테고리의 다른 글

docker hub repositories에 image push  (0) 2024.03.19
docker image 이해와 구조 확인  (0) 2024.03.15
02. docker 컨테이너 가상화 & VM 가상화  (1) 2024.03.13
01. 컨테이너 기술이란?  (0) 2024.03.13
Fast Campus 강의 필기  (0) 2024.03.13