상세 컨텐츠

본문 제목

[ Docker ] Windows에서 WSL + Ubuntu 이용해 Docker 사용하기

MLOps/Settings

by teang1995 2022. 1. 20. 13:14

본문

반응형

회사에서 쓸 일이 있어 Docker를 설치해야 한다.

사내망이어서 안 될 거 같았는데 Kubernetes를 사용하려면 결국 wsl+ubuntu는 갖추어져야 할 것 같아서 세팅을 해보기로 한다.


1. 기본 설정

검색 창에 windows 기능 켜기/끄기 검색

Linux용 Windows 하위 시스템을 체크한 후, 확인을 누르고 재부팅.

2. WSL 관련 기능 활성화

Powershell을 관리자 권한으로 실행.

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 입력 후 실행

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 입력 후 실행

3. WSL Linux 커널 업데이트

Microsoft WSL Installation Document

아까 관리자 권한으로 실행해둔 powershell에서 기본 WSL 버전을 2로 맞춘다.

4. Microsoft Store에서 리눅스 설치

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 해주자.

설치를 하면 사용자 이름과 비밀번호를 지정하게 하는데, 이는 알아서 설정하면 설치가 완료된다.

5. Docker 설치

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를 입력하여 재부팅되어도 도커가 실행되게끔 해주자.

6. 도커 설치 확인

자. sudo docker run hello-world 를 입력하여 hello-world 이미지를 실행시켜보도록 한다.

하지만 sudo를 붙이지 않으면 권한 때문에 거부 당하는데.. 매번 sudo를 썼다가 어떤 문제를 일으킬지 걱정되기도 하고 또 좀 번거롭기도 하니 아래 포스팅을 참고하여 sudo 권한 없이도 도커를 사용할 수 있게끔 하자.

https://teang1995.tistory.com/18

 

[ Docker ] Docker Permission denied error

What Happend? Docker run 명령어 실행 시 Permission Denied Error 발생. How to solve? sudo groupadd docker : 이미 있을 테지만, 혹시 모르니 넣었다. docker group을 생성한다. sudo usermod -aG docker $US..

teang1995.tistory.com

 

'MLOps > Settings' 카테고리의 다른 글

[ Docker ] WSL + ubuntu C drive 마운트  (0) 2022.01.20

관련글 더보기

댓글 영역