Docker는 /var 공간을 차지합니다. 공간을 어떻게 절약할 수 있나요?

Docker는 /var 공간을 차지합니다. 공간을 어떻게 절약할 수 있나요?

이에 대한 좋은 의견이 있기 때문에질문나는 그것이 이 특정한 질문에 대한 좋은 대답이고 유익할 것이라고 생각합니다.

그래서 커뮤니티에 더 많은 혜택을 줄 수 있도록 여기서 답을 얻고 싶습니다.

내 gnu/linux 시스템에는 /var20G의 큰 공간이 있지만 docker 사용 및 사용자 정의 docker 이미지 개발로 인해 /var공간의 90%를 차지합니다. 그러면 그 안에 공간을 어떻게 확보할 수 있습니까 /var?

원래는 이것 때문에 백업을 하고 싶었는데질문말한 다음 다시 분할하십시오 /var. 그러나 그것은 나에게 너무 많은 노력으로 보입니다. 더 안전하고 시간이 덜 걸리는 대안이 있습니까?

답변1

한동안 이 작업을 수행하지 않았다면 실행하십시오 docker system prune. 가비지 수집기를 실행하여 많은 디스크 공간을 확보합니다.

다음에 특정 작업(예: 빌드, 가져오기 등)을 수행할 때 더 많은 작업이 필요할 수 있지만 복구할 수 없는 항목을 삭제해서는 안 됩니다.

답변2

또 다른 방법은 폴더를 /var/lib/docker더 큰 디스크/파티션에 동기화하는 것입니다. 내 경우에는 포함된 파티션에 /home/여유 공간이 있었기 때문에 다음 단계를 따랐습니다.

  1. /home/라는 이름의 전용 폴더를 만들었습니다.docker

    mkdir /home/docker
    
  2. 을 사용하여 rsync데이터를 다음 위치에 복사합니다./home/docker

    rsync -av /var/lib/docker/ /home/docker
    

    이렇게 하면 소스 디렉터리의 후행 슬래시가 의도된 것입니다 /home/docker. /var/lib/docker그것 없이는 당신 docker/home/docker.

  3. rsync 프로세스가 어떻게 작동하는지 확인했습니다.

    ls -l /home/docker
    
  4. 나는 docker 데몬을 죽였습니다. (저는 Ubuntu를 사용하고 있습니다. 따라서 using은 service잘 작동합니다. systemctl대부분의 배포판에서는 using도 작업을 수행합니다.)

    sudo service docker stop
    
  5. 제거하다/var/lib/docker

    rm -rf /var/lib/docker
    
  6. 심볼릭 링크/home/docker

    sudo ln -s /home/docker /var/lib/docker
    
  7. 도커를 다시 시작하십시오.

    sudo service docker start
    

관련 정보