회사에서 쓸 일이 있어 Docker를 설치해야 한다.
사내망이어서 안 될 거 같았는데 Kubernetes를 사용하려면 결국 wsl+ubuntu는 갖추어져야 할 것 같아서 세팅을 해보기로 한다.
검색 창에 windows 기능 켜기/끄기 검색
Linux용 Windows 하위 시스템을 체크한 후, 확인을 누르고 재부팅.
Powershell을 관리자 권한으로 실행.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
입력 후 실행
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
입력 후 실행
Microsoft WSL Installation Document
아까 관리자 권한으로 실행해둔 powershell에서 기본 WSL 버전을 2로 맞춘다.
Microsoft Store에서 Ubuntu 검색.
필자는 20.04 LTS를 이용해보겠다.
설치 후 실행..하면
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2? ?? ?? ?? ????? ?????. ??? ??? https://aka.ms/wsl2kernel? ??????.
Press any key to continue...
와 같은 에러가 발생하는데..
x64 최신 WSL2 Linux 커널 업데이트 패키지 를 다운받고 실행해준 뒤 재실행.
했는데도 같은 에러가 난다면
windows10 wsl error 를 참고하자.
[Error when running an installed WSL platform: WslRegisterDistribution failed with error: 0x80370102
I'm trying to install WSL2, but getting error above. Virtual Machine platform and Windows subsystem for linux are enabled, also kernel update installed. In BIOS intel virtualization is enabled. How...
stackoverflow.com](https://stackoverflow.com/questions/62340566/error-when-running-an-installed-wsl-platform-wslregisterdistribution-failed-wit)
까지 했는데도 안 된다면? 오우.. 고생 많으셨습니다.. (왜 알게 됐을까요? 묻지 마세요)
https://forbes.tistory.com/995 를 참고하여 BIOS 모드에 진입해 Hyper-V 가상화를 Enable 해주자.
설치를 하면 사용자 이름과 비밀번호를 지정하게 하는데, 이는 알아서 설정하면 설치가 완료된다.
Docker docs에 접속 후 하라는대로 따라해보자.
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
하면 아래 사진과 같이 설치가 잘 완료됨을 볼 수 있음.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
를 실행해주고
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
를 실행해주면 된다.
그 뒤 아래 명령어로 도커 엔진을 설치하면..
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
또 에러가 발생한다...
docker-ce installation error 를 참고해 해결했으니 참고하도록 하자.
그러고 나서 공홈에 나온 예제 docker run hello-world
를 입력해보면..
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
와 같은 경고문구와 함께 아무 일도 일어나지 않는데,
cannot connect to the docker daemon 에러 를 참고하도록 하자.
만약 위 블로그에서 알려준대로systemctl start docker
를 입력하였는데
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
와 같은 에러가 발생한다면
WSL github issue 를 참고하여systemctl start docker
혹은 sudo systemctl start docker
대신 sudo /etc/init.d/docker start
를 통해 도커데몬을 실행시키도록 하자.systemctl enable docker
를 입력하여 재부팅되어도 도커가 실행되게끔 해주자.
자. sudo docker run hello-world
를 입력하여 hello-world 이미지를 실행시켜보도록 한다.
하지만 sudo를 붙이지 않으면 권한 때문에 거부 당하는데.. 매번 sudo를 썼다가 어떤 문제를 일으킬지 걱정되기도 하고 또 좀 번거롭기도 하니 아래 포스팅을 참고하여 sudo 권한 없이도 도커를 사용할 수 있게끔 하자.
https://teang1995.tistory.com/18
[ Docker ] WSL + ubuntu C drive 마운트 (0) | 2022.01.20 |
---|
댓글 영역