programing

컨테이너에 로컬 파일을 사용하려면 어떻게 해야 합니까?

codeshow 2023. 10. 4. 23:04
반응형

컨테이너에 로컬 파일을 사용하려면 어떻게 해야 합니까?

프로그램을 실행할 컨테이너를 만들려고 합니다.저는 미리 구성된 이미지를 사용하고 있는데 이제 프로그램을 실행해야 합니다.하지만 그것은 기계 학습 프로그램이고 실행하려면 컴퓨터의 데이터 세트가 필요합니다.

파일이 너무 커서 컨테이너에 복사할 수 없습니다.컨테이너에서 실행 중인 프로그램이 내 컴퓨터의 로컬 디렉토리에서 데이터셋을 검색하는 것이 가장 좋겠지만, 어떻게 해야 할지 모르겠습니다.

어떤 도커 명령으로 이 참조를 할 수 있는 방법이 있습니까?아니면 도커 파일로?

네, 할 수 있어요.설명 중인 것은 바인딩 마운트입니다.이 주제에 대한 문서는 https://docs.docker.com/storage/bind-mounts/ 를 참조하십시오.

예를 들어, 홈 디렉토리에서 폴더를 다음 주소로 마운트하려면/mnt/mydata컨테이너 안에서 할 수 있는 것은 다음과 같습니다.

docker run -v /Users/andy/mydata:/mnt/mydata myimage

지금이다,/mnt/mydata컨테이너 안에 접근할 수 있을 것입니다./Users/andy/mydata내 주인에게.

Mac용 도커 또는 Windows용 도커를 사용하는 경우 호스트에 기본적으로 허용되는 특정 디렉토리가 있습니다.

Mac 또는 Windows에서 Docker Machine을 사용하는 경우, Docker Engine 데몬은 macOS 또는 Windows 파일 시스템에 제한적으로 액세스할 수 있습니다.Docker Machine이 사용자/사용자(macOS) 또는 C:\Users(윈도우즈) 디렉터리.따라서 macOS에 파일이나 디렉토리를 마운트할 수 있습니다.

2019년 7월 업데이트:

문서 링크와 네이밍을 정확하게 업데이트했습니다.이러한 유형의 마운트를 "바인드 마운트"라고 합니다.Mac용 도커 또는 Windows용 도커에 대한 토막글은 더 이상 설명서에 나타나지 않지만 여전히 적용되어야 합니다.왜 제거했는지 잘 모르겠습니다(Mac용 도커에는 여전히 호스트에서 허용되는 마운트 경로의 명시적인 목록이 있습니다).

언급URL : https://stackoverflow.com/questions/44876778/how-can-i-use-a-local-file-on-container

반응형