본문 바로가기 대메뉴 바로가기

테크니컬 스토리

아이티마야의 새로운 기술 뉴스를 만나보세요.
WSL을 이용하여 도커 사용
등록일
2023.01.12
첨부파일
WSL을 이용하여 도커 사용
WSL 활용 방법
WSL(Windows Subsystem for Linux)의 정의

· Windows 환경에서도 리눅스를 사용할 수 있다. 기존에 사용하였던 듀얼 부팅. VM 등 리눅스를 설치해서 사용을 하였는 때 불편한 점들을 개선하여 더 효율적으로 사용이 가능하다.

· WSL(Windows subsystem for Linux)은 windows 하위 시스템으로써 다음 설정으로 Linux을 사용할 수 있다.

필요한 요구 사항
Windows 10 버전 2004 이상(빌드 19041 이상) 또는 Windows 11을 실행해야 합니다.
WSL 설치하기
  • PowerShell을 관리자로 실행합니다.
  • WSL을 설치합니다.
wsl --install
※참고

위의 명령은 WSL이 전혀 설치되지 않은 경우에만 작동합니다. wsl --install을 실행하고 WSL 도움말 텍스트를 보는 경우 wsl --list --online을 실행하여 사용 가능한 배포판 목록을 확인하고wsl --install -d < DistroName >을 실행하여 배포판을 설치해 보세요. WSL을 제거하려면 WSL의 레거시 버전 제거 또는 Linux 배포판 등록 취소 또는 제거를 참조하세요.

출처: https://learn.microsoft.com/ko-kr/windows/wsl/install

  • Windows Terminal 설치
  • Microsoft Store에서 Windows Terminal을 검색하여 설치하시면 됩니다.
WSL을 사용하여 Docker 설치
  • 터미널에서 Docker 관련 패키지를 설치합니다.
  • sudo apt-get install
    apt-transport-https \
    curl
    gnupg \
    lsb-release
    • Docker 공식 GPG key를 추가합니다.
  • curl -fsSL https://download.docker.com/linux/ubuntu/gpg |
    sudogpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    • repository를 설정합니다.
  • 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
    • Docker 최신 버전으로 설치합니다.
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    • Docker 실행
    sudo service docker start
    컨테이너 실행하기
    • docker run [옵션] [이미지] [명령] [매개 변수]
    옵션 설명
    -d detached mode 흔히 말하는 백그라운드 모드
    -p 호스트와 컨테이너의 포트를 연결 (포워딩)
    -v 호스트와 컨테이너의 디렉터리를 연결 (마운트)
    -e 컨테이너 내에서 사용할 환경 변수 설정
    -name 컨테이너 이름 설정
    -rm 프로세스 종료 시 컨테이너 자동 제거
    -it -i와 -t를 동시에 사용한 것으로 터미널 입력을 위한 옵션
    -link 컨테이너 연결 [컨테이너명:별칭]
    • docker에 ubuntu 설치하기
    sudo docker search ubuntu
    NAME DESCRIPTION STARS OFFICIAL AUTOMATED
    ubuntu Ubuntu is a Debian-based Linux operating sys… 15430 [OK]
    websphere-liberty WebSphere Liberty multi-architecture images… 291 [OK]
    ubuntu-upstart DEPRECATED, as is Upstart (find other proces… 112 [OK]
    neurodebian NeuroDebian provides neuroscience research s… 98 [OK]
    ubuntu/nginx Nginx, a high-performance reverse proxy & we… 73
    open-liberty Open Liberty multi-architecture images based… 56 [OK]
    ubuntu/apache2 Apache, a secure & extensible open-source HT… 51
    ubuntu-debootstrap DEPRECATED; use"ubuntu" instead 50 [OK]
    ubuntu/squid Squid is a caching proxy for the Web. Long-t… 49
    ubuntu/mysql MySQL open source fast, stable, multi-thread… 41
    ubuntu/bind9 BIND 9 is a very flexible, full-featured DNS… 41
    ubuntu/prometheus Prometheus is a systems and service monitori… 34
    ubuntu/postgres PostgreSQL is an open source object-relation… 23
    ubuntu/kafka Apache Kafka, a distributed event streaming… 19
    ubuntu/redis Redis, an open source key-value store. Long-… 16
    ubuntu/prometheus-alertmanager Alertmanager handles client alerts from Prom… 8
    ubuntu/grafana Grafana, a feature rich metrics dashboard & … 6
    ubuntu/memcached Memcached, in-memory keyvalue store for smal… 5
    ubuntu/zookeeper ZooKeeper maintains configuration informatio… 5
    ubuntu/dotnet-runtime Chiselled Ubuntu runtime image for .NET apps… 5
    ubuntu/dotnet-deps Chiselled Ubuntu for self-contained .NET & A… 5
    ubuntu/telegraf Telegraf collects, processes, aggregates & w… 4
    ubuntu/cortex Cortex provides storage for Prometheus. Long… 3
    ubuntu/dotnet-aspnet Chiselled Ubuntu runtime imagefor ASP.NET a… 3
    ubuntu/cassandra Cassandra, an open source NoSQL distributed … 2
    • ubuntu 이미지 받기
    sudo docker pull ubuntu
    • docker 이미지 확인
    sudo docker images
    • 컨테이너 생성
    docker create --name ubuntu ubuntu_test
    ※ 이처럼 Windows 환경에서도 WSL을 이용하여 리눅스를 사용할 수 있고 딥러닝 및 개발 환경도 구성하여 이용할 수 있다.
    PLEASE WAIT WHILE LOADING...