Mac / OS X에서 / var / lib / docker는 어디에 있습니까?


139

Docker for /var/lib/dockerMac을 설치 한 후 Mac 에서 폴더 를 찾고 있습니다.

docker info 내가 얻을

    Containers: 5
     ...
    Server Version: 1.12.0-rc4
    Storage Driver: aufs
     Root Dir: /var/lib/docker/aufs
     Backing Filesystem: extfs
     Dirs: 339
     Dirperm1 Supported: true
    ...
    Name: moby
    ID: LUOU:5UHI:JFNI:OQFT:BLKR:YJIC:HHE5:W4LP:YHVP:TT3V:4CB2:6TUS
    Docker Root Dir: /var/lib/docker
    Debug Mode (client): false
    ....

그러나 /var/lib/docker호스트에 디렉토리 가 없습니다.

확인 /Users/myuser/Library/Containers/com.docker.docker/했지만 거기에서 아무것도 찾을 수 없습니다. 그것이 어디에 있는지 아는가?


8
도 커가 필요한 Linux 환경을 제공하기 위해 인스턴스화하는 것은 vm 내부에 있습니다.
larsks

1
파일 일 수 있습니다 : /Users/myuser/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
christian

1
vm의 기본 디스크 이미지입니다. 그러나 해당 디렉토리의 내용을 다루려면 vm 자체에 로그인해야합니다. docs.docker.com/v1.8/installation/mac
larsks

thx,이 파일을 risize qemu-img 크기 조정 Docker.qcow2 + 5g forums.docker.com/t/…
christian

이 디렉토리를 어디에서 찾을 수 있는지 아십니까? @christian
Jason Xu

답변:


50

이 답변을 참조하십시오

Docker for Mac Application을 사용할 때 컨테이너는 다음 위치의 VM 내에 저장되어있는 것으로 보입니다.

~ / Library / Containers / com.docker.docker / Data / com.docker.driver.amd64-linux / Docker.qcow2


51
Google 에서 여기 온 경우 아래로 스크롤하여 정답을 찾으십시오.
user1717828

167

위의 답변에서 언급했듯이 다음에서 찾을 수 있습니다.
screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

tty가 실행되면 다음으로 이동할 수 있습니다. /var/lib/docker


4
약간 수정 (집 아래, 루트 아래가 아님) : "screen ~ / Library / Containers / com.docker.docker / Data / com.docker.driver.amd64-linux / tty"
pdenti

1
공장! 그러나 어떻게 그 껍질에서 나가나요? Ctrl 키 + d를, exitlogout작동하지 않습니다.
thomaskonrad

6
ctrl + a + d를 사용하여 화면에서 분리 할 수 ​​있습니다
Mik jagger

13
분리해도 여전히 화면 세션이 계속 실행됩니다. 당신은 이것을 실행하여 이것을 볼 수 있습니다 screen -ls. 이미 분리 된 경우을 실행하십시오 screen -X quit. 스크린 세션이 여러 개인 경우 -S세션 이름을 지정해야합니다. 분리하지 않은 경우 ctrl + a, :, q, u, i, t, ENTER를 누르십시오. 이 두 세션은 세션에서 screen quit 명령을 실행합니다.
dosentmatter

15
~ / Library / Containers / com.docker.docker / Data / vms / 0 / tty에 있다고 생각합니다.
Richard Collette

57

Docker for Mac을 사용하는 경우 다른 답변은 구식입니다.

VM에 들어가는 방법은 다음과 같습니다. 다음 명령을 실행하십시오 :

screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

이것이 기본 경로이지만 먼저 수행해야 할 수도 있습니다. cd ~/Library/Containers/com.docker.docker/Data/vms

그런 다음 lsVM이있는 디렉토리를 확인하고 그에 따라 "0"을 바꿉니다.

당신이있을 때, 당신은 빈 화면을 볼 수 있습니다. "Enter"키를 누르십시오.

이 페이지 에서는 VM을 종료하려면 "Ctrl-a"를 누른 다음 "d"


VM을 종료하고 다시 입력하면 셸이 엉망이되기 때문에 완전히 작동하지 않습니다.
AbstractVoid

2
이것은 나를 위해 작동하지 않습니다. 나는 엉망인 껍질로 끝납니다. 이전 화면 세션을 거쳐서 종료 한 다음 다시 시도했습니다. Enter 키를 누르면 임의의 문자가 표시됩니다. 다시 입력하면 새로운 임의의 문자가 나타납니다. 등등
Steig Hallquist

1
\ 화면 프로그램 사용 종료하는 CTL을-A 다음 ctl-은 /var/lib/docker당신이 실행 후 어디에 VM에 screen, 예를 들어, 그래서 ls /var/lib/docker
알렉세이 Martianov

1
나는하여 지저분한 껍질을 제거있어 screen -ls다음 screen -X -S SESSION_NAME quit각 세션에 대해. ctr-A, D로 연결을 끊으면 화면에 다시 연결하여 screen -R깨끗한 껍질을 얻을 수 있습니다.
Andreas Riedmüller

13

@Dmitriy가 말한 것처럼 :

screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

ctrl a+ d를 사용 하여 화면을 분리 할 수 있습니다.

screen -dr화면을 다시 연결하는 데 사용 합니다 (단순히 화면을 다시 연결하면 터미널 텍스트가 깨지므로).

참고

또는 종료하려면 ctrl + a+를 사용 하고 화면 을 종료 k하도록 선택하십시오 y.


5

좀비 스레드의 일부이지만 방금 찾은 것처럼 화면이 필요 없거나 셸 등을 엉망으로 만드는 다른 솔루션이 있습니다.

에서 나열된 경로 docker volume inspect <vol_name>

컨테이너의 경로를 반환합니다.

"Mountpoint": "/var/lib/docker/volumes/coap_service_db_data/_data"

_data의 경로 당신 설치의 마지막 구성 요소 인 구성 요소 volumes:주어진 볼륨 등을 사용하여 서비스의 섹션 :

volumes: - db_data:/var/lib/postgresql/data 마일리지가 다를 수 있습니다.

Mac에서 가장 쉬운 방법은 실제로 작은 컨테이너 실행을 시작하고 호스트의 루트를 /docker이미지 의 디렉토리에 마운트하는 것입니다. 이렇게하면 호스트에서 사용되는 볼륨에 액세스 할 수 있습니다.

docker run --rm -it -v /:/docker alpine:edge

이 시점에서 당신은 볼륨으로 cd 수 있습니다

cd /var/lib/docker/volumes/coap_service_db_data/_data


1

이 경로는 "Docker for Mac 응용 프로그램"시간 전에 Docker 호스트 (MacOS가 아님)에서 발생합니다. 여기서 VirtualBox VM이 "기본"인 위치와이 VM에 언급 된 경로가 존재합니다 (확실히). 이제 "Docker for Mac 응용 프로그램"시간 qemu base vm 인 Docker.qcow2 이미지가 있습니다. 이 VM 내에서 뛰어 오르는 것은 @ mik-jagger 방법은 괜찮습니다 (그러나 몇 가지 더 있습니다)


0

나는 그 파일을 말한다 :

/var/run/docker.sock

실제로 :

/Volumes/{DISKNAME}/var/run/docker.sock

이를 실행하는 경우 실행중인 VirtualBox 5.2.8 이상 및 공유 /Volumes 가 자동 마운트 및 영구적으로 설정되고 해당 버전의 Virtualbox에서 기본 docker-machine을 생성 한 경우 이를 증명해야합니다 .

#!/bin/bash
docker run -d --restart unless-stopped -p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock portainer/portainer \
--no-auth

그런 다음 192.168.99.100:9000 또는 localhost : 9000에서 Portainer에 액세스하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.