Docker 데이터 저장 위치 변경하기.

Docker를 설치하면 root 드라이브를 사용하도록 설정됩니다. 이 경우 나중에 스토리지가 부족하게 야기하게 될 수 있기 때문에 데이터를 저장하는 위치를 변경해 두는 것이 좋습니다. 특히, 운영 중인 시스템이라면 반드시 변경해 두셔야 스토리지 때문에 서비스가 중단되는 위기를 피할 수 있습니다. ( 실제로 제가 이 문제로 서비스가 중단되는 경험을 했었습니다. -_-;; ) Ubuntu ubuntu에서 docker는 이미지와 컨테이너에서 사용하는 스토리지는 /var/lib/docker 하위를 사용합니다. 이 위치를 /data/docker/로 변경하려고 합니다. 모든 작업을 하기 전에 Docker를 중지하고, 작업을 마친 후에 Docker를 재시작해주어야 합니다. 이 방법 말고도 심볼릭 링크를 사용해서 변경..

Jetbrains IDE에서 Docker Daemon에 연결하지 못할 때

전지 전능한 JetBrains IDE에서는 Docker도 당연히(?) 사용할 수 있습니다. 그래서 Dockerfile이 발견되면, 아래와 같은 풍선 도움말을 통해 Docker 설정을 할 수 있도록 도와줍니다. Dockerfile을 눌러서 Docker 설정으로 바로 갈 수 있습니다. Docker 설정에는 구동할 Dockerfile 명, 컨텍스트 폴더, 태그, 빌드할 때 필요한 옵션들 그리고 빌드된 이미지를 실행할 때 필요한 옵션을 지정할 수 있습니다. 설정하려고 보니 Server 부분에 자동으로 탐지할 없다는 붉은 색 메시지가 보입니다. 저는 윈도우즈10에서 wsl을 이용해 Docker를 사용하고 있기 때문에 안되나보다 하고 넘기고 있었는데 오늘은 무슨 생각에선지, 서버 옆에 설정버튼을 눌러봤습니다. 서버..

도커 볼륨으로 Symbolic-Link가 가능할까?

여러 이미지에서 공통으로 사용하는 라이브러리가 있습니다. 그래서 base이미지를 하나 만들어 두고 같이 공유해서 사용하고 있습니다. 이렇게 했을 때, 장점은 이미지를 만들 때, 이미 만들어진 공통으로 사용하는 이미지에 라이브러리가 포함되어 있기 때문에 -> 변경사항을 관리할 수 있습니다. base이미지의 버전 관리만 잘한다면, 어떤 이미지에 어떤 버전의 라이브러리가 들어있는지 쉽게 알 수 있고, 추적이 용이해집니다. -> 그리고 base 이미지는 한번만 빌드하고 공유하기 때문에 이미지 빌드 시간이 줄어듭니다. 하지만, 라이브러리를 이미지에 포함할 경우, 단점도 있습니다. -> 이미지 내에 라이브러리를 포함하기 때문에 이미지 사이즈가 커집니다. -> 라이브러리가 변경되면, 해당 라이브러리를 사용하는 모든 ..

wsl2 기반으로 Docker Desktop 설정하기.

어제 wsl2로 업데이트를 했습니다. ( 2020/06/02 - WSL2 업데이트 하기. ) 오늘은 Docker Desktop을 wsl2기반에서 구동되도록 설정하는 방법에 대한 내용입니다. wsl2기반에서 구동되는 Docker는 리눅스를 사용하는 이점을 있고, 윈도우와 파일을 공유하거나, docker의 부팅 시간을 줄여주고, 기존과 달리 동적 메모리 할당을 사용할 수 있어, 시스템 자원을 좀 더 사용할 수 있습니다. 당연하게도 wsl2 설정은 먼저 해야됩니다. 안 하신 분은 어제 글을 먼저 확인해주세요. Docker DeskTop 2.3 버전부터 wsl2를 지원한다고 합니다. 저는 2.2 버전이 설치되어 있어서 업데이트했습니다. 현재 버전은 2.3.0.3입니다. wsl2관련 업데이트가 몇개 보입니다. 업..

Docker Image 빌드할때 ssh로 Git clone하기.

도커 이미지를 만들 때, 호스트에 있는 파일을 복사하는 게 가장 일반적이겠지만, CI툴에서 이미지 빌드를 한다거나, 특정한 브랜치를 항상 빌드한다거나 하는 특정한 경우에 Docker Image를 만드는 중에 소스코드를 클론 하는 경우가 있습니다. 이럴 때는 Dockerfile에 아이디와 패스워드를 노출할 수는 없기에, 제가 사용한 방식은 리파지토리에 등록된 Deploy Key를 이용하여 클론 한 후에 이미지에서 제거하는 방법을 사용했습니다. Dockerfile 코드는 다음과 같은 형식입니다. FROM ubuntu:latest COPY ssh_key /home/bitlog/.ssh/id_rsa RUN git clone git@github.com:bitlog/dev-repository.git RUN rm /..