도커 1.9+에서 명명된 볼륨의 내용을 나열하는 방법은 무엇입니까?
도커 1.9가 명명된 볼륨을 추가했기 때문에..
docker volume create --name postgres-data
docker volume ls
그리고 나는.
local postgres-data
지금까지는 모두 좋습니다.
그러면 명명된 볼륨에 무엇이 있는지 어떻게 확인할 수 있습니까?호스트 시스템에서 CD로 저장할 수 있는 방법이 있습니까?마운트된 호스트 디렉토리처럼?
docker run --rm -i -v=postgres-data:/tmp/myvolume busybox find /tmp/myvolume
설명:볼륨의 파일을 볼 수 있는 도구를 사용하여 최소 컨테이너를 만들고(바쁨 상자), 이름이 지정된 볼륨을 컨테이너의 디렉토리에 마운트합니다(v=postgres-data:/tmp/myvolume
), 볼륨의 파일을 나열합니다(find /tmp/myvolume
. 목록 작성이 완료되면 용기를 제거합니다(--rm
).
달릴 수 있습니다docker volume inspect postgres-data
보고있다Mountpoint
결과의 일부
따라서 소스 매개 변수가 호스트 디렉토리를 가리킬 수 있습니다./var/lib/docker/volumes/[volume_name]/_data
디렉토리
실행하면 도커가 볼륨을 저장하는 위치를 확인할 수 있습니다.docker volume inspect <volume>
.
하지만 주의할 점이 있습니다.Mac 및 Windows에서는 볼륨의 내용을 직접 볼 수 없습니다.이러한 문제는 Containzeration이 Linux의 기본 기능이기 때문에 Docker가 실제로 Linux VM을 실행하여 컨테이너화할 수 있기 때문에 발생합니다.따라서 표시되는 경로는 실제로는 호스트 시스템이 아닌 VM 내부의 경로입니다.
다른 답변에 언급된 방법을 사용하여 이러한 볼륨에 액세스하거나(내용을 보기 위해 사용 후 삭제 컨테이너 만들기) 직접 액세스할 수 있습니다.
Mac용
Mac의 경우 다음을 사용할 수 있습니다.screen
VM에 액세스하려면 다음과 같이 하십시오.
# This path can be slightly different on your system
screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
그리고 일단 그곳에 도착하면, 당신은 다음 경로로 이동할 수 있습니다.docker volume inspect
당신에게 주었습니다.
Windows의 경우
도커 데스크톱 및 WSL2 포함
다음으로 이동\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes
윈도우즈 탐색기에서
여기 한 가지 아이디어가 있습니다...
docker run -it --name admin -v postgres-data:/var/lib/postgresql/data ubuntu
그리고 나서 대화형 쉘에서.
ls /var/lib/postgresql/data
더 좋은 아이디어 환영!
아니면 jq나 새 컨테이너가 필요하지 않습니다.
cd
디렉터리:
cd $(docker volume inspect <volume name> | grep Mountpoint | cut -d\" -f 4)
디렉토리의 내용을 봅니다.
ls -las $(docker volume inspect <volume name> | grep Mountpoint | cut -d\" -f 4)
훨씬 더 좋아요!모든 볼륨의 내용 보기:__
for i in `docker volume ls -q`; do echo volume: ${i}; \
ls -las $(docker volume inspect $i | grep Mountpoint | cut -d\" -f 4); \
done
무언가를 빨리 찾아야 할 때 항상 그것을 사용합니다.
포함 *jq
:
$ sudo ls -l $(docker volume inspect VOLUME_NAME | jq -r '.[0].Mountpoint')
*아직 설치하지 않은 경우 설치 방법에 대한 자세한 내용은 jqdoc 페이지를 확인하십시오(PACKAGE_MANAGER install jq
).
이 편리한 기능을 사용하여 볼륨의 내용을 나열합니다.
dvolume() {
local volume volumes_to_list=${1:-$(docker volume ls --quiet)}
for volume in $volumes_to_list; do
sudo ls -lRa "$(docker volume inspect --format '{{ .Mountpoint }}' "$volume")"
echo
done
}
두 가지 방법으로 함수를 호출할 수 있습니다.
$ dvolume # for each volume, list its content
$ dvolume <volume> # list <volume>'s content
언급URL : https://stackoverflow.com/questions/34803466/how-to-list-the-content-of-a-named-volume-in-docker-1-9
'programing' 카테고리의 다른 글
Excel 매크로 - 줄 연속선이 너무 많음 (0) | 2023.08.23 |
---|---|
쉼표로 구분된 값으로 두 테이블 결합 (0) | 2023.08.23 |
jQuery를 사용하여 빈 텍스트 입력 선택 (0) | 2023.08.23 |
셀 값을 기준으로 전체 행 색상 지정 (0) | 2023.08.23 |
각도 6 입력 키에 입력 추가 (0) | 2023.08.23 |