https://learn.microsoft.com/ko-kr/windows/wsl/tutorials/wsl-containers
WSL에서 Docker 컨테이너 시작
Linux용 Windows 하위 시스템에서 Docker 컨테이너를 설정하는 방법을 알아봅니다.
learn.microsoft.com
에 따라서 설치하면 아래와 같이 docker desktop을 설치할 수 있다.

설치를 마치면 ubuntu를 실행하여 docker version 명령어를 통해 잘 설치되었는지 확인

docker run --rm -it ubuntu /bin/bash

여기까지 이것저것 따라하다가 초보자가 따라하기엔 적합하지 않은 내용인듯 하여 유튜브로 선회하였다.
https://www.youtube.com/watch?v=hWPv9LMlme8
git clone https://gitlab.com/yalco/practice-docker.git
를 통해 예제로 만들어둔 프로젝트 폴더를 클론하고 진행
나는 node.js를 컴퓨터에 깔지 않았지만
관련 자바스크립트 코드를 실행할 수 있게끔 도커를 이용하는 예제였다.
docker run -it node
를 통해 원하는 node라는 이름의 이미지가 내 컴퓨터에 없으면 이를 docker hub에서 다운받고 컨테이너로 만들 실행해주었다.
위 코드 중
-it는 해당 컨테이너를 열고 내 CLI환경(터미널)에서 실행해주기 위한 지정옵션이다.
해당 영상에서 마치 class와 instance개념에서 봤던 붕어빵 틀의 내용에 빗대어
image와 container를 설명해주었다.

docker images와 docker ps를 통해 각각 생성된 이미지와 컨테이너들을 확인 가능했다.
ctrl+c를 통해 정지시킨 컨테이너들을 확인하기 위해선 docker ps -a를 사용해줘야 한다.

docker exec -it quizzical_napier bash
명령어를 통해 새로 만든 node 이미지의 컨테이너를 통해 가상의 리눅스 쉘 환경으로 들어가주면
ls등 윈도우에서는 실행되지 않는 명령어가 실행되는 모습을 확인할 수 있었다.
만들어진 컨테이너와 이미지들은 어떻게 삭제하는지도 알아보았다.
도커에서 이미지와 컨테이너를 중지하고 삭제하는 명령어들은 다음과 같다.
docker rm {컨테이너 id 또는 이름}
# 모든 컨테이너 삭제
docker rm `docker ps -a -q`
# 이미지 삭제
docker rmi {옵션} {이미지 id}
모든 컨테이너와 이미지 등 도커 요소 중지 및 삭제
# 모든 컨테이너 중지
docker stop $(docker ps -aq)
# 사용되지 않는 모든 도커 요소(컨테이너, 이미지, 네트워크, 볼륨 등) 삭제
docker system prune -a
컨테이너가 생성되있는 경우 이미지를 삭제하기 위해선 -f 옵션을 추가해줘야 한다.
그중 나는 모든 컨테이너와 이미지 등을 싸그리 중지하고 삭제하기 위한 아래의 명령어를 사용했고
docker stop $(docker ps -aq)
docker system prune -a
다음과 같이 docker ps, docker images를 통해 확인했을 때 깔끔하게 정리가 된 모습이었다.

cd를 통해 frontend폴더내에 위치한 상태에서
docker build -t frontent-img .
를 통해 필요한 도커 이미지를 다운받고
docker run --name frontend-con -v $(pwd):/home/node/app -p 8080:8080 frontent-img
를 실행해주면

그림과 같이 http-server가 8080포트로 열리는 모습을 확인할 수 있었다.
'CS > 리눅스로 한 학기 살기' 카테고리의 다른 글
| [6주차] - Window 11 hyper-v를 이용해 ubuntu 환경 구축 (0) | 2023.05.16 |
|---|---|
| [5주차] vscode 연동 및 linux 프로세스 명령어 (0) | 2023.05.15 |
| [4주차] - wsl2 우분투 xrdp, xfce4를 이용해 GUI모드로 실행하기 (0) | 2023.05.11 |
| [2주차] 윈도우 wsl2기반 zsh 꾸미기 (0) | 2023.05.06 |
| [1주차] Linux Installation (0) | 2023.03.20 |