문법이 맞나 싶어가지고.. 어쨌든 백업할때 느꼈던건데, 나는 docker를 그냥 디스크만 옮기면될줄알고 다른디스크에 똑같은 경로로 옮겼다.
그리고 docker_opt를 다시 잡아준 후에 docker start 를 통해 컨테이너를 실행하려니 정말 죽어도 안되는것이다.
별수를 다 써봤는데도 안되었다.
정말 이상한 일이라 검색해봤는데 나같은 사례가 없었다.
하긴 누가 디스크 to 디스크로 옮기는일을 할까.. 여튼 해답은 다음과 같다.
/docker/containerd/daemon/
해당경로에는 현재 돌아가고 있는 컨테이너의 정보들이 존재한다.
여기를 깔끔하게 지워주면 돌아가게 되는데 문제는 바로 여기
io.containerd.metadata.v1.bolt/meta.db
이 파일이다. 이 db파일내에 컨테이너 이름이 들어가있으면 docker는 해당 컨테이너가 이미 running 중이라고 판단한다.
즉, docker를 정상적으로 exit 한 상황이 아닌 상태에서 그냥 파일을 옮기면 meta.db엔 running 중인 상태로 기록되어 있기때문에 절대 돌릴 수가 없다.
해결법은 그냥 docker를 다시 깔고, 깔끔한 meta.db를 덮어쓰면된다. (데몬내에 다른 폴더들은 그냥 정리)