Mac에서 도커 볼륨 위치

찾아야만한다.

Mac에서 volume을 생성하면 local에서 해당 디렉토리에 접근할 수 없다.

그 이유는, 도커는 host의 kernel socket을 공유하는데 OS를 구성하는 요소 없이 바이너리, 라이브러리 어플리케이션만 구동하는데 있어서 Host Linux Kernel 대신 무언가가 필요하다.

만약에 host가 리눅스를 사용하고 있으면 그대로 kernel을 사용하면 되지만, 다른 운영체제라면 Linux kernel을 가지고있지 않을것이다.

그렇기 때문에 docker가 mac에서 VM으로 Linux를 구동하고 으 위에 Docker Engine을 구동시킨다.

그래서 mout point가 vm의 mout point(VM 내부 디렉토리)를 의미한다.

이런 이유로 mac에서는 /var/lib/docker/volum 에서, 생성한 volume을 다이렉트로 접근할 수 없다고한다.

접근 방법

  1. bind mount

바운드 마운트를 시도하려고 했더니 이미지마다 다른것 같다. logstash 이미지를 로컬에 바인드 마운트하고 컨테이너를 구동시키려고 하니까 컨테이너 내부에 있는 config의 yml 파일이 로컬 마운트 포인트에는 없다면서 컨테이너가 구동되지 않는다.

  1. VM 내부 진입하기

vi ~/.zshrc 명령으로 파일을 열어서 아래와 같이 추가해준다.

alias dockervm="docker start dockervm_instance -i || docker run --name=dockervm_instance -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh"

그리고 dockervm으로 진입하면, 찾으려고 했던 /var/lib/docker 디렉토리를 발견했다.

Last updated