윈도우 10에서 도커 이미지 위치는?
저는 윈도우 10 홈 운영체제를 사용하고 있습니다.도커 공구함을 설치했습니다.
다음 명령을 사용하여 .net 코어 애플리케이션의 도커 이미지를 만들었습니다.
$ docker build -t helloWorld:core .
이제 이 이미지를 다른 기계로 보내려고 합니다.하지만 이미지 파일을 받지 못하고 있습니다.
누가 제 이미지가 어디에 저장되는지 알려주실 수 있나요?또는 도커 빌드 명령에서 도커 이미지 경로를 지정할 수 있는 방법이 있습니까?
나는 모든 답이 구식이거나 틀렸다는 것을 발견했습니다.%localappdata%\Docker\wsl
윈도우에서 도커를 실행하는 방법이 하나 이상 있기 때문에 답변이 정말 혼란스럽습니다.가장 최신 방법은 윈도우 10 홈 2020년 5월 업데이트입니다.새 버전의 Windows Subsystem for Linux(WSL2)를 사용합니다.이 답변은 이 구성에 대한 것입니다.
WSL2를 활성화한 후 도커 데스크톱을 설치합니다.도커 데스크톱은 WSL 내부의 호스트에 연결하는 클라이언트입니다.
이미지 디렉토리가 다소 일치하지 않습니다..docker info
호스트 머신이나 WSL 내부에서 경로를 제공합니다.Docker Root Dir: /var/lib/docker
존재하지 않는 것:
$ ls /var/lib/docker
ls: cannot access '/var/lib/docker': No such file or directory
당신은 그 이미지들을 찾을 수 있을 것입니다.
/mnt/wsl/docker-desktop-data/
또는 이 Windows 탐색기 경로에서:
\\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\data\docker\image
Windows 10(윈도우 10) 비홈 버전을 사용하는 경우에는 다르게 작동할 수 있습니다.다른 답들을 보세요.나는 이 OS에 접속할 수 없기 때문에 대답하려고 하지 않을 것입니다.
Windows 10(윈도우 10)에서 시스템 트레이(작업 표시줄의 오른쪽)에서 도커 아이콘을 마우스 오른쪽 단추로 클릭하고 Settings...(설정...)를 선택합니다.Advanced(고급) 창에 다음과 같은 내용이 표시됩니다.
- 를 사용하여
docker info
지휘. - 결과 - Docker Root Dir 확인
이 폴더에는 이미지, 컨테이너, ...이 들어 있습니다.
WSL2(Windows Subsystem for Linux)에서 도커를 사용하는 경우 숨겨진 공유를 통해 이미지에 액세스할 수 있습니다.
\\wsl$\docker-desktop-data\version-pack-data\community\docker\overlay2
볼륨도 다음 위치에 있습니다.
\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes
도커 버전은20.10.7
더 깊은 곳으로 가고 싶다면,docker-desktop-data
당신의 파일에 실제로 위치해 있습니다.AppData\Local
vhdx
(가상 시스템 디스크)C:\Users\YOUR_USER_NAME\AppData\Local\Docker\wsl\data\ext4.vhdx
도커 프로세스를 종료하고 열 수 있습니다.ext4.vhdx
파일(예를 들어 7zip 포함), 거기서 볼 수 있습니다.version-pack-data\community\docker
이 서류철에
윈도우 10에 있고 윈도우 컨테이너를 실행중인 경우
위 이미지에서 도커는 윈도우 컨테이너를 실행하고 있습니다.리눅스 컨테이너로의 전환을 보여줍니다.
선취점docker info
command (구체적인 내용)docker info --format “{{json .DockerRootDir}}”
).
루트 디라를 봐야 합니다.
도커 루트 디렉터리: C:\ProgramData\Docker
이제 명령을 실행하여 다음과 같이 이미지를 끌어오기
docker pull hello-world
이미지를 끌어 올린 후 도커 루트 디어를 들여다 볼 수 있습니다.
현재 수정된 날짜 시간을 확인합니다.폴더 중 하나에서 레이어의 Sha를 볼 수 있습니다.
마지막으로 이미지가 다운로드되는 위치를 알고 싶다면 다음 폴더도 살펴봐야 합니다.위와 아래의 두 폴더는
- C:\ProgramData\Docker\image\window 필터
- C:\ProgramData\Docker\window 필터
이제 리눅스 이미지.
도커에서 윈도우 컨테이너를 실행 중인 경우, nginx와 같은 리눅스 기반 컨테이너를 가져오려고 하면,
docker pull nginx:latest
당신은 다음과 같은 메세지를 받게 될 것입니다.
latest: Pulling from library/nginx
no matching manifest for windows/amd64 10.0.18363 in the manifest list entries
따라서 리눅스 컨테이너로 전환합니다.첫번째 이미지를 봅니다.
리눅스용 도커가 실행되면 명령을 다시 실행합니다.
docker pull nginx:latest
이미지가 다운로드되고 있는 것을 볼 수 있습니다.
하드 디스크에 이 이미지가 다운로드된 위치는 어디입니까?이 경우 docker info 명령어는 큰 도움이 되지 않을 수 있습니다.
그럼 다시 시작해요.Settings(설정)을 클릭하고 "Switch to Windows Containers(윈도우 컨테이너로 전환)..."
그리고 이제 길을 보세요.
에, C:\ProgramData\DockerDesktop\vm-data
수정한 날짜 열을 메모합니다.Linux 기반 이미지를 끄집어내거나 제거한 후 주의하고 관찰합니다.
이것은 리눅스 env용으로 예약된 디스크 공간이므로 이미지가 어디에 있는지 더 아래에서 찾아볼 수 없습니다.
필요하다면 리눅스 기반 VM을 실행하고 도커를 설치하고 /var/lib/docker/경로를 탐색합니다.
때때로 권한 문제가 발생할 수 있습니다.만약 그렇다면 이것과 이것을 보세요.
Windows Containers(윈도우 컨테이너)를 활성화하면 이미지가 기본적으로 저장됩니다.C:\ProgramData\Docker\
이를 변경하려면 다음을 편집할 수 있습니다.C:\ProgramData\Docker\config\daemon.json
그리고 새것을 추가합니다."graph"
새 경로로 키...(모든 백슬래시가 다른 백슬래시와 함께 탈출되도록 notice)
예:
{
"registry-mirrors": [],
"insecure-registries": [],
"debug": true,
"experimental": false,
"graph": "D:\\ProgramData\\Docker"
}
그 후 도커 서비스를 재시작해야 하며 다음을 통해 변경 사항을 확인할 수 있습니다.docker info
명령하고 보다Docker Root Dir
입적
WSL 기반 도커 설치 위치를 찾지 못했습니다.하지만 도커 명령 자체로 이미지를 얻는 간단한 방법이 있습니다!
docker image save myimagename -o myimagename.tar
그러면 7zip 또는 이와 유사한 프로그램으로 탐색할 수 있는 아카이브 파일이 생성됩니다.
WSL을 사용하는 최근 도커 데스크톱에서 윈도우 10의 도커 이미지 위치가 변경되었습니다.
(last tested with Docker Desktop Community version 2.3.0.3)
먼저 실행 및 유형을 사용합니다.\\wsl$
그러면 파일 탐색기가 열리고 폴더가 아래와 같이 표시됩니다.
docker-desktop
docker-desktop-data
디렉터리를 찾아 필요한 파일을 확인합니다.
참고: 사용하기 전에 도커 데스크톱이 실행 중인지 확인합니다.\\wsl$
지휘권을
내 것은 "C:"에서 찾을 수 있습니다.\Users\Public\문서\Hyper-V\가상 하드 디스크"
아래 명령을 사용하여 이미지를 내보낼 수 있으며 Linux / 다른 기계 도커 내보내기 [OPTIONS] 컨테이너에 복사할 수 있습니다.
예:
docker export --output="latest.tar" red_panda
이 이미지를 다른 컴퓨터로 발송하려면:
docker ps -a
#or docker container ls -a
docker commit <container-id> mynewimage
#start here if you never started your image
#(ex: if just created using docker build -t helloWorld:core .)
docker image ls
docker save mynewimage > /tmp/mynewimage.tar
다른 컴퓨터의 경우:
docker load < /tmp/mynewimage.tar
docker images
위에서 설명한 바와 같이 Linux 컨테이너가 있는 윈도우에서 작업할 때 컨테이너는 DockerDesktop/settings/advanced/DiskImageLocation에 위치한 DockerDisk 이미지 내에 있습니다.
여기를 보다
2022년 8월 29일 현재:
여기:
%localappdata%\Docker\wsl
그리고 여기:
C:\ProgramData\DockerDesktop\vm-data
그리고 옛날에는 여기에 있었습니다.
C:\Users\Public\Documents\Hyper-V\Virtual hard disks
예. 프로그램 데이터, 앱 데이터, 문서 등 디스크의 어디에나 저장할 수 있습니다.도커는 완벽하게 정리되지 않은 제품입니다.개발자들이 사소한 것들을 찾아내는 데 많은 시간을 낭비합니다.
윈도우 10용 도커 데스크톱이 여기로 이동되었습니다.
c:/사용자/<user>
/AppData/Roaming/Docker/settings.json
%APPDATA%\도커\settings.json
저는 윈도우 10 Professional 버전 20H2에서 도커 데스크톱 4.5.1(74721)을 실행할 때 이미지의 위치가 다음 사진과 같이 제 사용자 디렉토리 아래에 있는 것 같습니다.
왜 이미지에 도달하려고 하는지 모르겠지만, 도커 명령만 사용하면 이미지에서 백업 파일을 생성하고 원하는 곳에 로드할 수 있습니다.예:
$ docker save -o ubuntu.tar ubuntu:lucid ubuntu:saucy
Windows 홈 디렉토리에 tar 파일을 저장합니다.로드하는 방법:
$ docker load --input ubuntu.tar
저는 WSL2로 윈도우에서 도커 데스크톱을 사용할 때 컨테이너가 아래에 있었습니다.
여기 있어야 합니다.
C:\ProgramData\Docker\tmp\
엔진 포함:20.10.17(Windows 10)
, 도커 컨테이너를 경로에서 찾았습니다.\\\wsl.localhost\docker-desktop-data\data\docker\containers
자세한 내용은 아래에서 확인할 수 있습니다.
기본적으로 내부에 있습니다.C:\Users\Public\Documents\Hyper-V\Virtual hard disks
디렉토리(.vhdx 파일).도커 설정 > 고급 > 디스크 이미지 위치에서 변경 가능합니다.
저는 윈도우 10 홈 버전 2004에서 도커 19.03.8을 실행하고 있습니다.WSL 백엔드가 새로 추가되었습니다. 이 구성에서 WSL 프롬프트를 실행하고(Win-r 후 wsl을 실행), 이미지 파일이 /mnt/host/wsl/docker-desktop-data/data/docker 아래에 있습니다.
효과가 있었습니다.
%USERPROFILE%/.docker/config.json
언급URL : https://stackoverflow.com/questions/42250222/where-is-docker-image-location-in-windows-10
'programing' 카테고리의 다른 글
엔티티 프레임워크에서 원시 오라클 SQL 쿼리 매개 변수화 (0) | 2023.10.23 |
---|---|
입력 텍스트에서 깜박이는 커서를 숨기는 방법? (0) | 2023.10.23 |
Android Material과 Appcat Manifest 병합 실패 (0) | 2023.10.23 |
AngularJS: ngResource로 성공 및 오류 콜백을 처리하는 방법? (0) | 2023.10.23 |
Oracle Analytic Functions는 비용이 많이 소요됩니까? (0) | 2023.10.23 |