# WSL2를 이용해서 Docker를 사용중인 경우 (방법만 알려면 아래로 내려가세요!)
윈도우에서 gpu를 통한 딥러닝 학습 환경을 구축하기 위해서 ubuntu kernel을 사용할 수 있도록 하는 wsl2를 이용해 Docker를 설치하였다.
확실하진 않지만!
wsl을 통해서 docker를 사용한다는 것 자체가 파일이 ubuntu kernel에 설치되는 것 같다.
컨테이너를 생성할 때 외장하드에 볼륨을 연결했는데! 계속 실패해서 여러 가지 찾아보다가 다음과 같은 명령어를 통해서 도커 볼륨을 생성하고 inspect를 확인해 봤을 때 순간 아 이래서 ubuntu kernel을 설치했구나 싶었다.
마운트포인트 경로를 보니 리눅스 경로임을 확인하면서 순간 '아 wsl이구나'를 떠올렸다.
아무튼 그래서 wsl2, docker를 설치하면서 딸려온건지 설치한건지 기억 안나는 ubuntu를 실행하였다.
경로를 /mnt로 옮기니 3개의 하드 드라이브가 잡혔다.
Ubuntu에서 /mnt 디렉토리를 보면 3개의 하드는 인식되어 졌고, 나머지 3개의 하드는 인식되지 않은 걸 확인할 수 있다.
그래서 첫 번째 이미지처럼 Ubuntu에서 외장 하드를 마운팅시켜주면 컨테이너 생성 시 외장하드를 마운팅 할 수 있다.
# 방법
1. /mnt 경로에 마운트 할 드라이브에 대한 폴더를 생성한다
2. mount -t drvfs <외장하드 문자>: /mnt/<생성한 폴더명>
2개의 단계를 통해 마운트 할 수 있다.
# 추가적으로
일단은 다음과 같이 연결은 되는데, usb를 제거하고 다시 연결하면 바로 연결이 안되다.
이때, 컨테이너를 종료 후 재시작하면 다음과 같은 오류가 뜬다.
그런 경우에는 도커를 재시작하면 해결된다.
error while creating mount source path file exists |
-> usb 연결 후 도커 재시작 후 컨테이너 실행하면 된다.
# 참고
https://www.scivision.dev/mount-usb-drives-windows-subsystem-for-linux/
댓글