write /var/lib/docker/tmp/GetImageBlob3644316352: no space left on device 오류 해결

 

현상

요청사항 수정후 개발서버 브런치에 머지까지 끝냈는데 

해당 화면에 수정된 내용이 반영이 되지 않는 현상이 있었다.

젠킨스에 접속해 로그를 확인해봤다.

동일 스텝에서 성공적으로 돌아갔을때와 실패했을때를 비교해보니 

실패한 경우의 로그에서 no space left on device 라는 로그가 있었고 

확인해보니 디스크 공간 부족이 이유 였다. 

이 메시지는 젠킨스 빌드 도중에 Docker 이미지를 작성하거나 가져오려고 할 때 발생하는 오류라고 한다.

이 오류의 핵심은 "no space left on device"로, 이는 Docker가 실행 중인 서버의 디스크 공간이 부족하여

더 이상 데이터를 저장할 수 없을때 나타나는 이유라고 한다. 

해결방법

1. 디스크 공간 확인:

먼저 서버에서 사용 가능한 디스크 공간을 확인하세요. df -h 명령어를 사용하면 현재 디스크 사용량과 사용 가능한 공간을 볼 수 있습니다.

2. 불필요한 Docker 이미지 및 컨테이너 정리:

Docker 이미지와 컨테이너는 시간이 지남에 따라 상당한 양의 디스크 공간을 차지할 수 있습니다. 불필요한 이미지, 컨테이너, 볼륨, 네트워크를 정리하여 공간을 확보할 수 있습니다. 다음 명령어를 사용할 수 있습니다:
불필요한 컨테이너 정리: docker container prune
사용하지 않는 이미지 정리: docker image prune -a
사용하지 않는 볼륨 정리: docker volume prune
사용하지 않는 네트워크 정리: docker network prune
위의 모든 것을 한 번에 정리: docker system prune -a


3.디스크 확장: 

서버의 디스크 공간이 지속적으로 부족한 경우, 디스크를 확장하는 것을 고려해야 할 수 있습니다. 이는 서버의 구성과 사용 중인 클라우드 서비스 제공업체에 따라 달라질 수 있습니다.
로그 파일과 임시 파일 확인: 디스크 공간을 많이 사용하는 다른 원인으로는 크기가 큰 로그 파일이나 임시 파일이 있을 수 있습니다. 이러한 파일들을 정기적으로 확인하고 필요하지 않은 경우 삭제하여 공간을 확보하세요.
저장 정책 검토: Docker 및 Jenkins와 같은 도구들의 저장 정책을 검토하고 조정하여, 필요 이상으로 많은 데이터가 저장되지 않도록 할 수 있습니다.

 

 

라고 GPT가 알려주고 있다. 

 

 

$: 이게 무엇인가?

Svelte에서 $:는 반응성 선언(reactive declarations)을 나타냅니다.

반응성 선언을 사용하면 변수나 표현식이 변경될 때마다 자동으로 업데이트되는 코드를 작성할 수 있습니다.

예를들어

$: ({ postArr } = data); 는 data 객체의 변경을 감지하여 자동으로

postArr 변수를 업데이트하도록 지시하는 코드입니다.

이 구문의 각 부분의 의미는 다음과 같습니다.

$: - 반응성 선언을 시작합니다.
({ postArr } = data) - 객체 구조 분해 할당(object destructuring assignment)를 사용하여 

data 객체에서 postArr 속성을 가져옵니다.


결과적으로, data 객체가 변경될 때마다 postArr 변수가 자동으로 업데이트되어 해당 변경사항을 반영합니다. 

이를 통해 Svelte 컴포넌트에서 데이터가 변경되는 경우 자동으로 UI를 업데이트할 수 있습니다.

 

조금더 자세한 내용은

https://beomy.github.io/tech/svelte/reactivity-syntax/

 

[Svelte] 반응형을 위한 문법

사용자 행동에 따라 반응형으로 동작하는 웹을 만들기 위한 Svelte 문법을 이야기합니다.

beomy.github.io

 

이 페이지를 참고하시면 좋을 것 같습니다.

 

[개인 정보 정책]

[The Pirates]은 앱을 [오픈 소스 / 무료] 앱으로 구축했습니다. 이 서비스는 [The Pirates]에서 [무료] 제공하며 그대로 사용하도록되어 있습니다.

이 페이지는 [The Pirates] 서비스를 이용하기로 결정한 경우 개인 정보의 수집, 사용, 공개와 관련하여 [The Pirates] 정책에 대해 방문자에게 알리는 데 사용됩니다. [The Pirates] 서비스 이용을 선택하시면 본 정책과 관련된 정보 수집 및 이용에 동의하는 것입니다. [The Pirates] 가 수집하는 개인 정보는 서비스 제공 및 개선을 위해 사용됩니다. [The Pirates] 는 이 개인 정보 보호 정책에 설명 된 경우를 제외하고는 누구와도 귀하의 정보를 사용하거나 공유하지 않습니다. 본 개인 정보 보호 정책에서 사용 되는 용어는 본 개인 정보 보호 정책에 달리 정의되지 않는 한 [The Pirates]에서 액세스 할 수있는 이용 약관과 동일한 의미를 갖습니다.

[정보 수집 및 사용]

더 나은 경험을 위해 서비스를 사용하는 동안 [The Pirates] 는 귀하에게 특정 개인 식별 정보를 제공하도록 요구할 수 있습니다. [그러나 현재는 테스트및 오류 해결을 위한 기기 정보 외의 개인정보를 요구하지 않습니다.]

[정보수집] 요청은 저희가 보관하고 본 개인 정보 보호 정책에 설명 된대로 사용 됩니다. 앱은 귀하를 식별하는 데 사용되는 정보를 수집 할 수 있는 제 3 자 서비스를 사용합니다. 앱에서 사용하는 제 3 자 서비스 제공 업체의 개인 정보 보호 정책 링크로는 다음을 이용할 수 있습니다.

1. Google Play 서비스

2. 로그 데이터

3. 테스트 및 운영에 관한 사용자 정보 데이터

[The Pirates] 는 귀하가 [The Pirates] 서비스를 이용할 때마다 앱에 오류가 발생하는 경우 [The Pirates] 가 귀하의 휴대 전화에서 Log Data 라는 데이터 및 정보 (타사 제품을 통해)를 수집하고 있음을 알려 드리고자 합니다. 이 로그 데이터에는 귀하의 장치 인터넷 프로토콜 ("IP") 주소, 장치 이름, 운영 체제 버전, [The Pirates] 서비스 이용 시 앱 구성, 서비스 사용 시간 및 날짜와 같은 정보가 포함될 수 있습니다.

[쿠키]

쿠키는 일반적으로 익명의 고유 식별자로 사용되는 소량의 데이터가 포함 된 파일입니다. 방문한 웹 사이트에서 브라우저로 전송되며 기기의 내부 메모리에 저장됩니다. 이 서비스는 이러한 "쿠키"를 사용하고 있으며 사용되는 데이터는 유저가 마지막으로 접속한 앱서비스 내의 [MAP 정보]에 해당합니다. 그리고 앱은 정보를 수집하고 서비스를 개선하기 위해 "쿠키"를 사용하는 제 3 자 코드 및 라이브러리를 사용할 수 있습니다. 귀하는 이러한 쿠키를 수락하거나 거부 할 수 있으며 쿠키가 귀하의 장치로 전송되는시기를 알 수 있습니다. 쿠키를 거부하는 경우이 서비스의 일부를 사용하지 못할 수 있습니다.

[서비스 제공자]

[The Pirates] 는 다음과 같은 이유로 제 3 자 회사 및 개인을 고용 할 수 있습니다. 1. 서비스를 용이하게하기 위함 2. 당사를 대신하여 서비스를 제공하기 위함 3. [The Pirates] 관련 서비스 수행 위함 4. 당사의 서비스 사용 방식을 분석하기 위함 [The Pirates] 는 이러한 제 3자가 귀하의 개인 정보에 액세스 할 수 있음 을 이 서비스의 사용자에게 알리고 있습니다. [The Pirates] 은 위에서 말한 사항 외에 다른 목적으로 정보를 공개하거나 사용하지 않습니다.

[보안]

[The Pirates]는 귀하의 개인 정보 제공에 대한 귀하의 신뢰를 소중히 여기므로 당사는이를 보호하기 위해 상업적으로 허용되는 수단을 사용하기 위해 노력하고 있습니다. 그러나 인터넷을 통한 전송 방법이나 전자 저장 방법은 100 % 안전하고 신뢰할 수 없으며 [The Pirates]는 절대적인 보안을 보장 할 수 없습니다.

[다른 사이트로의 링크]

이 서비스에는 다른 사이트에 대한 링크가 포함될 수 있습니다. 타사 링크를 클릭하면 해당 사이트로 이동합니다. 이러한 외부 사이트는 [The Pirates]에서 운영하지 않습니다. 따라서 [The Pirates]는 이러한 웹 사이트의 개인 정보 보호 정책을 검토 할 것을 강력히 권고합니다. [The Pirates]는 제 3 자 사이트 또는 서비스의 콘텐츠, 개인 정보 보호 정책 또는 관행에 대해 통제 할 수 없으며 책임을지지 않습니다.

[아동의 프라이버시]

[The Pirates] 는 13 세 미만의 아동으로부터 개인 식별 정보를 고의로 수집하지 않습니다. [The Pirates] 가 13 세 미만의 아동이 [The Pirates]를 제공 한 사실을 발견 한 경우 개인 정보와 함께 [The Pirates] 는 이를 당사 서버에서 즉시 삭제합니다. 귀하가 부모 또는 보호자이고 귀하의 자녀가 당사에 개인 정보를 제공 한 것을 알고있는 경우 [나 / 우리]가 필요한 조치를 취할 수 있도록 [The Pirates]에 연락하십시오.

[개인 정보 보호 정책의 변경]

[The Pirates]는 수시로 개인 정보 보호 정책을 업데이트 할 수 있습니다. 따라서 변경 사항이 있는지이 페이지를 주기적으로 검토하는 것이 좋습니다. [The Pirates] 는 이 페이지에 새로운 개인 정보 보호 정책을 게시하여 변경 사항을 알려 드릴 것입니다.

[문의하기]

[The Pirates] 개인 정보 보호 정책에 대한 질문이나 제안이 있으시면 언제든지 [The Pirates] (dslcltn@gmail.com)로 연락하십시오.

+ Recent posts