데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      Docker Desktop 없이 WSL로 Docker 사용하기

      Teus 24.11.18
      8,595 7 2
      DEVOTEE 요약
      본 블로그에서는 윈도우에서 Docker Desktop 없이 WSL만으로 Docker를 구축하는 방법을 설명합니다. Docker Desktop은 기업에서 무료로 사용할 수 없어 WSL2와 Ubuntu를 활용하여 Docker Engine을 설치한 후, Docker 이미지를 실행합니다. 최종적으로 Ubuntu 외 다른 이미지도 정상적으로 작동하는 것을 확인하여 WSL 환경에서 Docker를 사용할 수 있음을 강조합니다.
      DEVOTEE 추천 블로그

      안녕하세요. Teus입니다.


      이번 포스팅은 ChatGPT와 함께 윈도우에서 Docker를 사용할 수 있는 환경 구축하기 입니다.


      0. Docker Desktop

      일반적으로 윈도우에서 Docker를 사용하려면

      WSL과 Docker Desktop을 활용해야 합니다.

      image.png

      하지만, Docker Desktop은 더이상 기업에서 무료로 사용할 수가 없습니다.

      그래서, Docker Desktop없이 WSL만 가지고 Docker를 구축해야 합니다.


      1. Docker Engine설치

      이때 입력하는 prompt를 변경해 봅니다.

      image.png

      이 또한 프롬프트 엔지니어링(?) 이라고 볼 수 있는데, 프롬프트에 추가적인 정보 증강을 함 으로써

      Docker Desktop없이도 Docker를 구축할 수 있는것을 볼 수 있습니다.

      그래서, ChatGPT가 알려주는 순서로 Docker를 구축해 봅시다.


      1_1. WSL2 설정하기

      윈도우 PowerShell에서 아래 코드를 실행하여 WSL을 활성화 시킵니다.

      dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
      dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
      bcdedit /set hypervisorlaunchtype auto
      #재부팅
      wsl --install
      wsl --set-default-version 2


      1_2. Docker Engine 설치하기

      그리고 wsl ubuntu를 실행합니다.

      wsl상에서 docker-ce 설치를 진행합니다

      #필요한 패키지 설치
      sudo apt update
      sudo apt install apt-transport-https ca-certificates curl software-properties-common
      #docker image를 가지고오기 위한 gpg설정
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
      #docker repository추가하기
      echo "deb [arch=amd64 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
      #설정완료 후 Docker-ce설치
      sudo apt update
      sudo apt install docker-ce

      docker-ce까지 설치가되면, wsl에 설치된 ubuntu에서 docker engine을 활용할 수가 있게 됩니다.

      주의사항

      wsl1같은 경우 cgroup구현 문제로, 위와같은 방법으로 구축할 경우 설치는 정상적으로 되지만 설치 이후에 docker demon을 부를 수가 없어서, 정상적인 활용이 불가능하니 참고해주세요

      이제 docker를 실행시키고, docker의 print("hello world")같은 hello-world 이미지를 실행 시키면 아래와같은 결과를 확인할 수가 있습니다.

      sudo service docker start
      sudo docker run hello-world

      image.png


      1_3. 추가 테스트

      일단 Docker Desktop없이 Docker의 정상 작동은 확인이 되었습니다.

      그럼 이제 Docker이미지 중 Python을 사용할 수 있는 이미지를 불러오고, 이 위에서 간단한 코드를 실행 시켜보려고 합니다.

      먼저 python이 설정된 docker이미지를 불러옵니다

      sudo docker pull ubuntu

      그리고, 해당 이미지를 실행 시킵니다

      sudo docker -it run ubuntu

      그럼 아래처럼 정상적으로 사용할 수 있는 ubuntu이미지가 실행되는것을 확인할 수 있습니다.

      image.png

      그리고, 다른 쉘에서 해당 도커 컨테이너가 정상적으로 작동하는것을 확인할 수가 있습니다

      image.png

      그래서, 다른 쉘에서 해당 docker이미지에 접근하는 것을 통해서

      wsl2에서 Docker Desktop없이 Docker를 이용할 수 있는것을 볼 수 있습니다.

      image.png

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      Teus 님의 최신 블로그

      더보기

      DEVOTEE 추천 블로그

      동영상 기고하기