
이미지 출처 : https://wooono.tistory.com/109
아래 링크들 중 마음에 드는 것으로 기본적인 개념들을 학습한 후 실습해보는 것을 추천합니다

보통 A라는 컴퓨터에서 개발한 프로그램을 B나 C 같은 다른 컴퓨터에서 쓰려면,
운영체제 환경이나 프로그램 버전, 각종 설정을 똑같이 맞춰야 하는 번거로움이 있죠.
이런 복잡한 환경을 하나의 “팩”처럼 묶어서 어디서든 동일하게 실행할 수 있도록 만든 것이 컨테이너(Container)입니다.
그리고 이 컨테이너를 쉽게 만들고 실행·관리할 수 있게 도와주는 도구가 바로 도커(Docker)입니다.
기존에 사용하던 가상화 방식인 가상머신은 하이퍼바이저를 통해 각각의 완전히 독립된 OS(운영체제)를 제공했었습니다.
하지만 이 방식은 성능과 용량적인 부분에서 자원을 많이 필요로 하기 때문에 관리 측면에서 번거로움(각각의 가상머신은 커널과 라이브러리를 모두 포함)과 자원의 낭비가 발생했죠.
이러한 가상머신의 비효율성을 개선하기 위해 등장한 것이 바로 도커와 컨테이너 기술입니다.
도커는 컨테이너 기술을 더 쉽고 편리하게 사용할 수 있도록 해주는 플랫폼입니다.
여기서 컨테이너란, 애플리케이션과 그 실행에 필요한 모든 것(코드, 라이브러리, 설정 등)을 하나로 묶어(Docker Image) 패키징한 것을 실행하는 환경입니다
가장 큰 차이점은 가상머신처럼 무거운 OS 전체를 포함하는 대신, 호스트(Host) OS의 커널(Kernel)을 공유한다는 점입니다. 따라서 각 컨테이너는 애플리케이션 실행에 꼭 필요한 라이브러리와 파일들만 가지게 되어 매우 가볍고 빠르게 동작할 수 있습니다.
컨테이너는 흔히 '해상 운송 컨테이너'에 비유됩니다. 화물(애플리케이션)의 종류와 상관없이 규격화된 컨테이너에 담아두면, 어떤 항구나 배(서버 환경)에서도 동일하게 운송하고 내릴 수 있는 것처럼, 도커 컨테이너도 어떤 개발 환경이나 서버에서도 동일한 실행을 보장합니다.
가벼운 용량: OS가 없으므로 컨테이너의 용량은 수십 MB에 불과하여 가상머신의 수 GB 대비 용량이 작습니다.
빠른 속도: OS 부팅 과정 없이 애플리케이션을 바로 실행하므로 시작과 종료가 몇 초 만에 가능합니다.
높은 효율성: 하나의 서버에 더 많은 컨테이너를 실행할 수 있어 자원의 낭비를 줄이고 활용률을 극대화합니다.
일관된 환경: 개발, 테스트, 운영 환경이 모두 동일하게 구성되어 "이 컴퓨터에서는 됐는데..." 하는 고질적인 문제를 해결합니다.
이번 글에서는 가상머신을 활용하는 것이 아닌, 윈도우 환경에서 간단한 설치와 실습만 진행해보겠습니다.

위 링크를 타고 사이트에 들어가보면 다음과 같이 다운로드를 받을 수 있습니다.
버전이 각각 다른데, 윈도우 PC 기준으로 으로 웬만하면 AMD64 입니다. (나중에 어차피 리눅스 환경으로 할 예정)
- CMD 창에 아래 명령어를 복사하여 버전을 확인할 수 있습니다.
echo %PROCESSOR_ARCHITECTURE%

다운로드 완료 후 -> 재부팅

wsl --update명령어를 통해 버전 업데이트

동의하여 시작하면 로그인 창이 나옵니다
로그인 후 화면 (위 스크린샷은 Docker hub의 웹 브라우저 환경)



docker version: 도커 다운로드 및 버전 확인 명령어

wsl -l -v: 도커 머신 실행 여부 확인 명령어

wsl -d docker-desktop busybox: Docker Desktop 배포판을 실행하면서 busybox 를 구동하는 명령어
busybox : 여러 리눅스 기본 명령어를 하나로 묶은 초경량 도구 모음으로, 보통 컨테이너 환경에서 테스트나 진단용
사진의 맨 윗줄이 명령어입니다. 그 아래 저렇게 길게 뜨면 성공입니다

docker run -p 4567:80 -d nginx:latest: nginx 웹서버 컨테이너 실행 명령어

docker ps: 실행된 도커 컨테이너 확인 명령어

http://127.0.0.1:4567/
주소창에 위 url을 입력하여 서버가 구동되고 있는지 확인해봅니다
위와 같이 docker desktop 프로그램 내에서도 확인할 수 있습니다

docker ps명령어로 CONTAINER ID 를 확인한 후,
docker rm -f [컨테이너 아이디]를 입력하여 컨테이너를 삭제해줄 수 있습니다.
다음 블로그에는 VMware를 통한 가상화 환경과 도커 이미지 등에 대해 알아보겠습니다!