Windows 환경의 WSL2와 Docker로 개발 환경 구축 메모 2020/06
Windows 10 Home 대응.
어떠한 언어용의 구축을 하는 것은 아니지만, WSL2와 Docker를 준비하기 때문에, Linux와 Windows의 좋은 곳에서 대부분의 개발 환경 구축의 토대로서는 곤란하지 않다.
다른 컴퓨터에서 원래 사용하는 WSL 환경이 있으면 내보내기
PowerShell 사용자 모드wsl --export Ubuntu ./Ubuntu.tar
우분투 부분은 디스트로 이름이므로 환경에 따라 다릅니다.
Distro 이름은 WSL 환경 목록에서 확인할 수 있습니다.
PowerShell 사용자 모드wsl -l -v --all
Windows 10 2004 May 2020 업데이트 이상 제공
2020년 5월 말에 업데이트가 온 Windows 10에서 WSL2가 정식판이 되었으므로 그 이상으로 업데이트한다.
기본 Windows 업데이트를 걸면 좋지만 롤링 업데이트이므로 아직 오지 않았다면 여기에 액세스하여 업데이트 도구를 사용한다.
WSL2 사용
[2022/03 추가]
이하의 커멘드로 Windows의 시스템 설정등을 포함해 단번에 인스톨 할 수 있게 되어 있었습니다!
아래의 설치 가이드에도 제대로 절차 반영되어 있으므로 편하게 활성화할 수 있다고 생각합니다.wsl --install
[2022/03 추기 끝]
Windows 10용 Windows Subsystem for Linux 설치 가이드 을 바탕으로 설치를 진행합니다.
wsl 버전을 올리기 전에 Linux 커널을 설치해야하므로,
여기의 순서로 다운로드해 인스톨 해 둔다.
우분투 설치
Microsoft Store에서 설치. Distro는 특별히 뭔가 요구 사항이 없다면 우분투를 선택.
2020/06 시점에서는 Ubuntu20.04가 들어간다.
인계할 환경이 있는 경우에는 내보낸 tar 파일을 ~/AppData/Local/Ubuntu
로 확장하여 가져옵니다.
PowerShell 사용자 모드mkdir ~/AppData/Local/Ubuntu
wsl --import Ubuntu ~/AppData/Local/Ubuntu ./Ubuntu.tar --version 2
~
는 그대로는 인식하지 않으므로 TAB 키로 풀 패스로 변환한다.
Windows Terminal 설치
Microsoft Store에서 설치.
구성 파일의 JSON을 열고 defaultProfile
를 Ubuntu GUID로 다시 씁니다."defaultProfile": "{<UbuntuのGUID>}"
ssh agent 설정
htps : // 기주 b. 코 m / 루포 루기 테 b / wsl - sh - 겐 t 을 도입해 WSL로부터도 Windows측의 ssh agent를 사용할 수 있도록 한다.
Usage에서 볼 수 있듯이 Windows의 OpenSSH Client Service를 시작합니다.
PowerShell 관리자 모드Start-Service ssh-agent
Set-Service -StartupType Automatic ssh-agent
wsl-ssh-agent 릴리스 페이지 에서 최신 버전 다운로드
적절한 디렉토리에 배치한다.
Windows+R에서 shell:startup
를 입력하여 시작 폴더를 엽니다.
방금 배치한 wsl-ssh-agent-gui.exe
바로 가기를 만들어 시작에 배치
바로 가기 속성을 열고 바로 가기 대상 옵션을 다음과 같이 지정합니다.C:\wsl\wsl-ssh-agent\wsl-ssh-agent-gui.exe -setenv -envname=WSL_AUTH_SOCK
WSL측의 ~/.bashrc
등에 이하를 추기한다.# 本来はこの設定で問題ないが、2020/06時点ではWSL2が AF_UNIX に対応していないため動作しない
# [ -n $WSL_AUTH_SOCK ] && export SSH_AUTH_SOCK=$WSL_AUTH_SOCK
# 上記の設定で動作するようになったら以下の回避策を消す
export SSH_AUTH_SOCK=$HOME/.ssh/agent.sock
ss -a | grep -q $SSH_AUTH_SOCK
if [ $? -ne 0 ]; then
rm -f $SSH_AUTH_SOCK
( setsid socat UNIX-LISTEN:$SSH_AUTH_SOCK,fork EXEC:"/mnt/c/wsl/wsl-ssh-agent/npiperelay.exe -ei -s //./pipe/openssh-ssh-agent",nofork & ) >/dev/null 2>&1
fi
WSL 측에서 keyfile을 생성하여 ssh-agent에 추가한다.
keyfile 생성 및 추가ssh-keygen -t rsa -b 4096 -C "[email protected]"
chmod 400 ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa
Docker Desktop for Windows 설치
htps //w w. 도 c r. 코 m / p 로즈 cts / 도 c 케 r에서 sk와 p 에서 다운로드하여 설치.
Stable 채널에서 문제 없습니다.
VSCode 설치
htps : // 여기.ゔぃすあ lsつぢお。 코m/ 에서 설치.
WSL 환경과의 연계를 위해 Remote - WSL을 도입.
도입해 두면, WSL측으로부터 code
커멘드로 기동했을 때에 필요한 것을 자동으로 인스톨 해 준다.
메모리 고갈 문제에 대처
2020/06 시점에서는 WSL이 확보한 메모리가 해제되지 않고 Windows 측의 메모리가 고갈되는 문제이 있는 것 같기 때문에, WSL에서의 이용 메모리의 상한을 설정해 둔다.
해결 방법도 위의 링크에 설명되어 있으므로 해결해야합니다.
WSL측에 Windows측으로부터 localhost로 액세스 할 수 있도록 한다%USERPROFILE%\.wslconfig
설정 파일에 다음 줄을 추가합니다.localhostForwarding=True
Reference
이 문제에 관하여(Windows 환경의 WSL2와 Docker로 개발 환경 구축 메모 2020/06), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yoskeoka/items/2d019d92fe6931930271
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
wsl --export Ubuntu ./Ubuntu.tar
wsl -l -v --all
2020년 5월 말에 업데이트가 온 Windows 10에서 WSL2가 정식판이 되었으므로 그 이상으로 업데이트한다.
기본 Windows 업데이트를 걸면 좋지만 롤링 업데이트이므로 아직 오지 않았다면 여기에 액세스하여 업데이트 도구를 사용한다.
WSL2 사용
[2022/03 추가]
이하의 커멘드로 Windows의 시스템 설정등을 포함해 단번에 인스톨 할 수 있게 되어 있었습니다!
아래의 설치 가이드에도 제대로 절차 반영되어 있으므로 편하게 활성화할 수 있다고 생각합니다.wsl --install
[2022/03 추기 끝]
Windows 10용 Windows Subsystem for Linux 설치 가이드 을 바탕으로 설치를 진행합니다.
wsl 버전을 올리기 전에 Linux 커널을 설치해야하므로,
여기의 순서로 다운로드해 인스톨 해 둔다.
우분투 설치
Microsoft Store에서 설치. Distro는 특별히 뭔가 요구 사항이 없다면 우분투를 선택.
2020/06 시점에서는 Ubuntu20.04가 들어간다.
인계할 환경이 있는 경우에는 내보낸 tar 파일을 ~/AppData/Local/Ubuntu
로 확장하여 가져옵니다.
PowerShell 사용자 모드mkdir ~/AppData/Local/Ubuntu
wsl --import Ubuntu ~/AppData/Local/Ubuntu ./Ubuntu.tar --version 2
~
는 그대로는 인식하지 않으므로 TAB 키로 풀 패스로 변환한다.
Windows Terminal 설치
Microsoft Store에서 설치.
구성 파일의 JSON을 열고 defaultProfile
를 Ubuntu GUID로 다시 씁니다."defaultProfile": "{<UbuntuのGUID>}"
ssh agent 설정
htps : // 기주 b. 코 m / 루포 루기 테 b / wsl - sh - 겐 t 을 도입해 WSL로부터도 Windows측의 ssh agent를 사용할 수 있도록 한다.
Usage에서 볼 수 있듯이 Windows의 OpenSSH Client Service를 시작합니다.
PowerShell 관리자 모드Start-Service ssh-agent
Set-Service -StartupType Automatic ssh-agent
wsl-ssh-agent 릴리스 페이지 에서 최신 버전 다운로드
적절한 디렉토리에 배치한다.
Windows+R에서 shell:startup
를 입력하여 시작 폴더를 엽니다.
방금 배치한 wsl-ssh-agent-gui.exe
바로 가기를 만들어 시작에 배치
바로 가기 속성을 열고 바로 가기 대상 옵션을 다음과 같이 지정합니다.C:\wsl\wsl-ssh-agent\wsl-ssh-agent-gui.exe -setenv -envname=WSL_AUTH_SOCK
WSL측의 ~/.bashrc
등에 이하를 추기한다.# 本来はこの設定で問題ないが、2020/06時点ではWSL2が AF_UNIX に対応していないため動作しない
# [ -n $WSL_AUTH_SOCK ] && export SSH_AUTH_SOCK=$WSL_AUTH_SOCK
# 上記の設定で動作するようになったら以下の回避策を消す
export SSH_AUTH_SOCK=$HOME/.ssh/agent.sock
ss -a | grep -q $SSH_AUTH_SOCK
if [ $? -ne 0 ]; then
rm -f $SSH_AUTH_SOCK
( setsid socat UNIX-LISTEN:$SSH_AUTH_SOCK,fork EXEC:"/mnt/c/wsl/wsl-ssh-agent/npiperelay.exe -ei -s //./pipe/openssh-ssh-agent",nofork & ) >/dev/null 2>&1
fi
WSL 측에서 keyfile을 생성하여 ssh-agent에 추가한다.
keyfile 생성 및 추가ssh-keygen -t rsa -b 4096 -C "[email protected]"
chmod 400 ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa
Docker Desktop for Windows 설치
htps //w w. 도 c r. 코 m / p 로즈 cts / 도 c 케 r에서 sk와 p 에서 다운로드하여 설치.
Stable 채널에서 문제 없습니다.
VSCode 설치
htps : // 여기.ゔぃすあ lsつぢお。 코m/ 에서 설치.
WSL 환경과의 연계를 위해 Remote - WSL을 도입.
도입해 두면, WSL측으로부터 code
커멘드로 기동했을 때에 필요한 것을 자동으로 인스톨 해 준다.
메모리 고갈 문제에 대처
2020/06 시점에서는 WSL이 확보한 메모리가 해제되지 않고 Windows 측의 메모리가 고갈되는 문제이 있는 것 같기 때문에, WSL에서의 이용 메모리의 상한을 설정해 둔다.
해결 방법도 위의 링크에 설명되어 있으므로 해결해야합니다.
WSL측에 Windows측으로부터 localhost로 액세스 할 수 있도록 한다%USERPROFILE%\.wslconfig
설정 파일에 다음 줄을 추가합니다.localhostForwarding=True
Reference
이 문제에 관하여(Windows 환경의 WSL2와 Docker로 개발 환경 구축 메모 2020/06), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yoskeoka/items/2d019d92fe6931930271
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
wsl --install
Microsoft Store에서 설치. Distro는 특별히 뭔가 요구 사항이 없다면 우분투를 선택.
2020/06 시점에서는 Ubuntu20.04가 들어간다.
인계할 환경이 있는 경우에는 내보낸 tar 파일을
~/AppData/Local/Ubuntu
로 확장하여 가져옵니다.PowerShell 사용자 모드
mkdir ~/AppData/Local/Ubuntu
wsl --import Ubuntu ~/AppData/Local/Ubuntu ./Ubuntu.tar --version 2
~
는 그대로는 인식하지 않으므로 TAB 키로 풀 패스로 변환한다.Windows Terminal 설치
Microsoft Store에서 설치.
구성 파일의 JSON을 열고 defaultProfile
를 Ubuntu GUID로 다시 씁니다."defaultProfile": "{<UbuntuのGUID>}"
ssh agent 설정
htps : // 기주 b. 코 m / 루포 루기 테 b / wsl - sh - 겐 t 을 도입해 WSL로부터도 Windows측의 ssh agent를 사용할 수 있도록 한다.
Usage에서 볼 수 있듯이 Windows의 OpenSSH Client Service를 시작합니다.
PowerShell 관리자 모드Start-Service ssh-agent
Set-Service -StartupType Automatic ssh-agent
wsl-ssh-agent 릴리스 페이지 에서 최신 버전 다운로드
적절한 디렉토리에 배치한다.
Windows+R에서 shell:startup
를 입력하여 시작 폴더를 엽니다.
방금 배치한 wsl-ssh-agent-gui.exe
바로 가기를 만들어 시작에 배치
바로 가기 속성을 열고 바로 가기 대상 옵션을 다음과 같이 지정합니다.C:\wsl\wsl-ssh-agent\wsl-ssh-agent-gui.exe -setenv -envname=WSL_AUTH_SOCK
WSL측의 ~/.bashrc
등에 이하를 추기한다.# 本来はこの設定で問題ないが、2020/06時点ではWSL2が AF_UNIX に対応していないため動作しない
# [ -n $WSL_AUTH_SOCK ] && export SSH_AUTH_SOCK=$WSL_AUTH_SOCK
# 上記の設定で動作するようになったら以下の回避策を消す
export SSH_AUTH_SOCK=$HOME/.ssh/agent.sock
ss -a | grep -q $SSH_AUTH_SOCK
if [ $? -ne 0 ]; then
rm -f $SSH_AUTH_SOCK
( setsid socat UNIX-LISTEN:$SSH_AUTH_SOCK,fork EXEC:"/mnt/c/wsl/wsl-ssh-agent/npiperelay.exe -ei -s //./pipe/openssh-ssh-agent",nofork & ) >/dev/null 2>&1
fi
WSL 측에서 keyfile을 생성하여 ssh-agent에 추가한다.
keyfile 생성 및 추가ssh-keygen -t rsa -b 4096 -C "[email protected]"
chmod 400 ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa
Docker Desktop for Windows 설치
htps //w w. 도 c r. 코 m / p 로즈 cts / 도 c 케 r에서 sk와 p 에서 다운로드하여 설치.
Stable 채널에서 문제 없습니다.
VSCode 설치
htps : // 여기.ゔぃすあ lsつぢお。 코m/ 에서 설치.
WSL 환경과의 연계를 위해 Remote - WSL을 도입.
도입해 두면, WSL측으로부터 code
커멘드로 기동했을 때에 필요한 것을 자동으로 인스톨 해 준다.
메모리 고갈 문제에 대처
2020/06 시점에서는 WSL이 확보한 메모리가 해제되지 않고 Windows 측의 메모리가 고갈되는 문제이 있는 것 같기 때문에, WSL에서의 이용 메모리의 상한을 설정해 둔다.
해결 방법도 위의 링크에 설명되어 있으므로 해결해야합니다.
WSL측에 Windows측으로부터 localhost로 액세스 할 수 있도록 한다%USERPROFILE%\.wslconfig
설정 파일에 다음 줄을 추가합니다.localhostForwarding=True
Reference
이 문제에 관하여(Windows 환경의 WSL2와 Docker로 개발 환경 구축 메모 2020/06), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yoskeoka/items/2d019d92fe6931930271
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
"defaultProfile": "{<UbuntuのGUID>}"
htps : // 기주 b. 코 m / 루포 루기 테 b / wsl - sh - 겐 t 을 도입해 WSL로부터도 Windows측의 ssh agent를 사용할 수 있도록 한다.
Usage에서 볼 수 있듯이 Windows의 OpenSSH Client Service를 시작합니다.
PowerShell 관리자 모드
Start-Service ssh-agent
Set-Service -StartupType Automatic ssh-agent
wsl-ssh-agent 릴리스 페이지 에서 최신 버전 다운로드
적절한 디렉토리에 배치한다.
Windows+R에서
shell:startup
를 입력하여 시작 폴더를 엽니다.방금 배치한
wsl-ssh-agent-gui.exe
바로 가기를 만들어 시작에 배치바로 가기 속성을 열고 바로 가기 대상 옵션을 다음과 같이 지정합니다.
C:\wsl\wsl-ssh-agent\wsl-ssh-agent-gui.exe -setenv -envname=WSL_AUTH_SOCK
WSL측의 ~/.bashrc
등에 이하를 추기한다.# 本来はこの設定で問題ないが、2020/06時点ではWSL2が AF_UNIX に対応していないため動作しない
# [ -n $WSL_AUTH_SOCK ] && export SSH_AUTH_SOCK=$WSL_AUTH_SOCK
# 上記の設定で動作するようになったら以下の回避策を消す
export SSH_AUTH_SOCK=$HOME/.ssh/agent.sock
ss -a | grep -q $SSH_AUTH_SOCK
if [ $? -ne 0 ]; then
rm -f $SSH_AUTH_SOCK
( setsid socat UNIX-LISTEN:$SSH_AUTH_SOCK,fork EXEC:"/mnt/c/wsl/wsl-ssh-agent/npiperelay.exe -ei -s //./pipe/openssh-ssh-agent",nofork & ) >/dev/null 2>&1
fi
WSL 측에서 keyfile을 생성하여 ssh-agent에 추가한다.keyfile 생성 및 추가
ssh-keygen -t rsa -b 4096 -C "[email protected]"
chmod 400 ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa
Docker Desktop for Windows 설치
htps //w w. 도 c r. 코 m / p 로즈 cts / 도 c 케 r에서 sk와 p 에서 다운로드하여 설치.
Stable 채널에서 문제 없습니다.
VSCode 설치
htps : // 여기.ゔぃすあ lsつぢお。 코m/ 에서 설치.
WSL 환경과의 연계를 위해 Remote - WSL을 도입.
도입해 두면, WSL측으로부터 code
커멘드로 기동했을 때에 필요한 것을 자동으로 인스톨 해 준다.
메모리 고갈 문제에 대처
2020/06 시점에서는 WSL이 확보한 메모리가 해제되지 않고 Windows 측의 메모리가 고갈되는 문제이 있는 것 같기 때문에, WSL에서의 이용 메모리의 상한을 설정해 둔다.
해결 방법도 위의 링크에 설명되어 있으므로 해결해야합니다.
WSL측에 Windows측으로부터 localhost로 액세스 할 수 있도록 한다%USERPROFILE%\.wslconfig
설정 파일에 다음 줄을 추가합니다.localhostForwarding=True
Reference
이 문제에 관하여(Windows 환경의 WSL2와 Docker로 개발 환경 구축 메모 2020/06), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yoskeoka/items/2d019d92fe6931930271
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
htps : // 여기.ゔぃすあ lsつぢお。 코m/ 에서 설치.
WSL 환경과의 연계를 위해 Remote - WSL을 도입.
도입해 두면, WSL측으로부터
code
커멘드로 기동했을 때에 필요한 것을 자동으로 인스톨 해 준다.메모리 고갈 문제에 대처
2020/06 시점에서는 WSL이 확보한 메모리가 해제되지 않고 Windows 측의 메모리가 고갈되는 문제이 있는 것 같기 때문에, WSL에서의 이용 메모리의 상한을 설정해 둔다.
해결 방법도 위의 링크에 설명되어 있으므로 해결해야합니다.
WSL측에 Windows측으로부터 localhost로 액세스 할 수 있도록 한다%USERPROFILE%\.wslconfig
설정 파일에 다음 줄을 추가합니다.localhostForwarding=True
Reference
이 문제에 관하여(Windows 환경의 WSL2와 Docker로 개발 환경 구축 메모 2020/06), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yoskeoka/items/2d019d92fe6931930271
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
%USERPROFILE%\.wslconfig
설정 파일에 다음 줄을 추가합니다.localhostForwarding=True
Reference
이 문제에 관하여(Windows 환경의 WSL2와 Docker로 개발 환경 구축 메모 2020/06), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yoskeoka/items/2d019d92fe6931930271텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)