DockerCompose에서 WSL에서 docker를 사용할 때 Volume 정보

WSL에 docker 설치



이 기사에서는 Docker for Windows를 설치하고 Hyper-V에서
Docker가 시작된다고 가정합니다.

WSL2의 경우는, 상기의 인스톨이 필요 없다고 합니다만,
아직 Insider Preview에서만 사용할 수 있기 때문에,
Docker for Windows 설치를 가정하고,
expose deamon on~~을 체크해 Docker가 기동하고 있는 것을 전제로 하고 있습니다.



docker를 WSL에 설치하는 방법은
htps : // / cs. 도 c r. 코 m / 엔 s 타트 l / ぃ ん x / 도 c 케 루세 / 우분 /
에 기재하고 있기 때문에, 생략합니다.

대체로 이 근처는 다른 분들도 블로그가 Qitta에 기재하고 있으므로,
곧 설치할 수 있다고 생각합니다.

문제는 Volume 설정



먼저 docker-compose.yml 및 Dockerfile
docker에 마운트하는 소스 등은
/home/{{username}}
폴더가 아닌,
/c/Users/{{username}}
같은 Windows의 폴더에 저장합시다.

※주의
통상이라면 Windows의 C드라이브에 격납한 파일은/mnt/c/・・・・
하지만,

WSL에서/etc/wsl.conf를 새로 작성(편집)하고 다음 내용을 추가합니다.

/etc/wsl.conf
[automount]
root = /
options = "metadata"

그렇게 하면,/mnt/c/······가 아니라/c/····가 됩니다.
이 설정과/c/Users/{{username}} 같은 Windows의 폴더에 저장하여
docker-compose.yml에 나열된
볼륨을 상대 경로로 만들 수 있습니다.

docker-compose.yml 및 Dockerfile을 소스와 함께
git로 관리하는 경우는 기본으로 기재되어 있다고 생각하므로, 이 점을 알아두면 편리합니다.

왜 WSL에서 Docker를 사용합니까?



대답은 EDI가 VScode이기 때문에!!

최근 VSCode에는 Remote-WSL이라는 기능이 있다는 것을 알고 계십니까?

Rails나 PHP등의 개발시, VScode의 기능을 충분히 활용하려고 하면
  • PHP, Ruby 등을 Windows에 설치 필요
  • 새 파일을 만들 때 줄 바꿈 코드가 CRLF
  • git에서 core.autocrlf = false 여야합니다

  • 개발환경 Windows⇔ 실행환경 Linux간의 폐해가 발생합니다.
    PHP, Ruby 등을 Windows에 설치해야합니다.
    결국 WSL에 설치가 필요하지만,
    windows와는 달리 버전의 전환도 용이하게 할 수 있는 것과,
    명령 기반으로 설치할 수 있으므로 개발 환경 절차를 작성하지 않고
    shell을 용이하게 해 두면, 새롭게 개발자가 늘어난 경우도 용이하게 개발 환경 구축을 할 수 있습니다.

    좋은 웹페이지 즐겨찾기