본문 바로가기

Linux(Centos or RHEL)/docker

도커 다운그레이드시 주의점...?

아래 참조

https://xoit.tistory.com/15?category=738452

 

[docker] Unknown option dm.basesize

--storage-opt dm.* 옵션은 'Device Mapper' 스토리지 드라이버에서만 사용한다. 이미지와 컨테이너의 크기 제한을 늘리기 위해 dm.basesize 옵션 추가 # vi /usr/lib/systemd/system/docker.service .... ExecSta..

xoit.tistory.com

 

제가 원래 사용하는 도커의 버전은 19.03.8-ce 입니다.

하지만 옛날 버전으로 테스트를 해 볼 것이 있어서 원래 설치되어 있던 도커를 삭제하고, 옛날 버전을 다운로드 및 설치를 했었습니다.

그 과정에서 주의해야될 점이 하나가 있었어서 기록을 해 둡니다.

 

옛날 버전으로 설치를 마친 후, 도커 데몬을 실행시키려고하면, 아래와 같은 에러가 발생하면서 실행이 되지 않는 경우가 있었습니다.

 

level=error msg="[graphdriver] prior storage driver overlay2 failed: driver not supported"

 

이는 도커가 이용하는 데이터들을 보관하는 기본 경로인 "/var/lib/docker" ("docker info" 명령어 실행 시 나오는 값들 중, "Docker Root Dir" 항목의 값) 에 해당 도커의 버전이 제공하지 않는 드라이버에 관한 폴더가 들어있을 경우 발생하는 에러입니다.

 

이 에러가 발생하는 원인으로는, "rpm -e" 혹은 "yum remove" 명령어를 이용하여 도커를 제거 하더라고 해당 경로의 디렉토리는 삭제되지 않고, 그대로 남아 있어서 발생하는 문제입니다.

 

따라서 해당 디렉토리를 삭제시켜준 후, 도커 데몬을 실행시켜주면 도커 데몬이 잘 실행되는 것을 볼 수 있습니다.

 

비슷한 문제로는 리눅스의 커널이 업데이트가 된 후, 도커 데몬이 실행이 되지 않는 경우인데, 이는 도커 데몬이 이용하는 스토리지 드라이버 모듈이 현재 커널에서 로드되지 않았을 경우 발생할 가능성이 있습니다.

 

 

참조

커널 업데이트 후 도커 재설치시 에러 : https://github.com/moby/moby/issues/32688

yum을 이용하여 예전버전의 도커 설치 : https://github.com/moby/moby/issues/33930