
오늘 만든 Bash Script.
요즈음 도커 이미지를 수도 없이 찍어내고 있습니다. 업무 시간 중 대부분을 이미지가 빌드되기를 기다리며, 멍하니 모니터를 바라보는 데 사용하고 있으니까요. 도커 파일이 여러개로 나뉘고 순서대로 빌드해야 하고, 어떤 때는 일부만 빌드하고 어떤 때는 전체를 빌드하거나 할 필요가 생겼습니다. 그리고 빌드된 이미지를 푸시하려면 또 이미지를 하나하나 골라서 푸시하는 과정을 반복하다보니 실수도 잦고 시간도 오래 걸려서 쉘 스크립트를 하나 만들었습니다. 수준 높은 쉘 스크립트는 아니지만, 잘 동작하고 나중에 혹시 필요할 일이 있을까 기록으로 남겨 둡니다. 기능 요구사항은 다음과 같습니다. 간단하죠. 도커 이미지를 빌드 할 수 있습니다. 도커 이미지는 푸시 할 수 있습니다. 빌드 될 대상은 선택할 수 있습니다. 3번 ..

Docker dangling image 없애기.
도커를 사용하다 보면, 아무런 태그가 달리지 않은 : 같은 이미지를 흔하게 볼 수 있습니다. 이런 이미지는 눈에 거슬리기도 하고, 사용하지도 않기 때문에 보이는 족족 삭제를 하고 있습니다. 그런데 조금만 넋 놓고 살다 보면 그런 이미지들이 한가득 있는 것을 보고, 한 숨을 쉬곤 합니다. 이런 이미지들은 왜 생기는 것이며, 어떻게 하면 쉽게 삭제할 수 있을까요? 우선 시작하기 전에 hello-world 이미지를 만들어보겠습니다. ( https://github.com/docker-library/hello-world ) 리파지토리를 클론 하고, 도커 이미지를 만들어 줍니다. $ git clone https://github.com/docker-library/hello-world $ cd hello-world $..

Git clone --depth=1 이후에 히스토리 복원하기.
Git 리파지토리의 이력이 많아지거나, 리파지토리 용량이 클수록 clone을 받는데, 시간도 많이 걸리고 스토리지도 많이 필요하게 됩니다. 그래서 리파지토리의 일부 이력만 받아오는 방법이 있는데, 이를 전문용어로 shallow clone 이라고 합니다. 얕은 클론이라고 해석할 수 있는데, 이걸 기억하면 옵션도 쉽게 기억할 수 있습니다. 옵션이 depth거든요. shallow clone 앞에서도 설명했드시 Git 리파지토리의 전체 이력 중 일부만 받아오는 행위를 shallow clone이라고 합니다. 그 반대, 즉 전체 이력을 받아오는 것을 deep clone (깊은 클론)이라고 합니다. 대개의 경우, 전체 이력을 받아오지만, 리파지토리가 매우 크거나, 오랜동안 쌓인 이력이 매우 많을 경우, 또는 요즘은 ..

Docker login시 Error ‘Cannot autolaunch D-Bus without X11 $DISPLAY’
오늘 AWS에 있는 EC2에서 발생했던 오류에 대한 기록입니다. 새로운 서비스를 배포하기 위해 Docker Registry에 로그인하는데, 처음 보는 에러가 났습니다. ( Dockerhub는 아니고, 사설로 운영하는 것입니다. 그리고 OS는 Ubuntu입니다. ) docker login Username: bitlog Passworld: Error saving credentials: error storing credentials - err: exit status 1, out: 'Cannot autolaunch D-Bus without X11 $DISPLAY' 에러 메시지를 검색해보니, 이미 이런 에러를 겪은 사람들이 많았다는 것에 안도했습니다. 에러에 대한 결과가 많다는 것은 이미 해결책이 있을 가능성도 ..

코딩할 준비가 되었나요? Gitpod
올해 GitHub satellite에서는 코드 스페이스라는 기능을 발표했고, 몇몇 사람들에게만 공개하여 베타 테스트를 하고 있습니다. ( https://github.blog/2020-05-06-new-from-satellite-2020-github-codespaces-github-discussions-securing-code-in-private-repositories-and-more/#codespaces ) 온라인 IDE 서비스일 것 같은데, 예전에 해봤었던, Cloud9, elipse che, goormIDE 등이 비슷한 서비스를 하고 있습니다. 하지만, GitHub에서 한다고 하니 어떤 유용한 기능을 만들었을까 궁금해하던 차에 비슷한 서비스를 알게 되었습니다. Gitpod라는 서비스인데요. GitHu..