간단히 말하면 도커는 실행에 필요한 모든 것을 하나의 컨테이너(container)로 패키징 해서
어디서든 해당 패키지 그대로 실행할 수 있게 해주는 오픈소스 플랫폼이다.
비슷한 기능으로는 VM(Virtual Machine)이 있지만,
VM에 있는 기능 중에서 필요한 기능만 가져왔으며 필요한 기능만 가져왔기 때문에 훨씬 빠르게 동작한다.
도커는 기본적으로 리눅스 환경을 기반으로 하기 때문에 도커로 실행할 수 있는 앱은 리눅스에서도 사용가능한 앱이어야 한다.
Docker란 무엇인가? - 이미지와 컨테이너
도커를 배울 때 반드시 알아야 하는 개념이다.
이미지란?
도커에서 이미지는 읽기만 가능하다.
반대로 컨테이너는 읽기/쓰기 둘 다 가능하다.
이미지와 컨테이너의 관계는 다음과 같다.
즉, 컨테이너가 공통된 이미지를 공유할 수 있다.
그렇기 때문에 컨테이너는 기존에 정해져 있는 이미지만 참조하므로
항상 같은 조건을 유지한 채 생성될 수 있다.
Docker란 무엇인가? - 간단하게 구현해서 알아보기
간단하게 Docker Hub에서 pyTroch Docker를 다운로드하고 실행해 보는 테스트를 해보겠습니다.
Docker 설치
먼저 다음 Docker를 설치합니다.
https://www.docker.com/products/docker-desktop/
Docker Desktop: The #1 Containerization Tool for Developers | Docker
Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.
www.docker.com
회원가입을 하고 로그인을 하면 도커 Desktop을 다운로드할 수 있습니다.
참고로 Docker Desktop은 20GB 정도로 꽤 큽니다.
그렇기 때문에 기본 장소가 아닌 다른 장소에 Docker를 설치하고 싶은 분은 다음 포스팅을 참조해 주시길 바랍니다.
https://android-developer.tistory.com/111
도커(Docker)를 Windows에서 기본 위치가 아닌 다른 위치에 설치하기
도커의 Desktop 버전을 설치하면 대충 20GB 전후라는 큰 용량을 차지하게 됩니다. 그렇기 때문에 다른 하드디스크에 설치하고 싶다던가 하는 경우가 발생하는데요. 윈도우 기준으로 도커의 Desktop
android-developer.tistory.com
도커 Desktop을 설치하면 자동으로 Docker도 설치됩니다.
설치를 마치고 CMD 또는 맥의 커맨드라인에서 docker를 입력하면 다음과 같은 화면을 볼 수 있습니다.
이렇게 화면이 출력되면 docker의 설치가 완료된 것입니다.
Docker로 PyTorch 이미지 설치하기
다음과 같은 Docker Hub에서 PyTorch Docker를 설치할 수 있습니다.
https://hub.docker.com/r/pytorch/pytorch
https://hub.docker.com/r/pytorch/pytorch
hub.docker.com
다음 커맨드를 사용해서 해당 Docker를 설치합니다.
docker pull pytorch/pytorch
그럼 다음과 같이 다운로드가 진행되는 것을 볼 수 있습니다.
Docker에 설치된 이미지 확인하기
다음과 같은 커맨드로 Docker에 설치된 이미지를 확인할 수 있습니다.
docker images
다음과 같이 pytorch 이미지가 설치되어 있는 것을 확인할 수 있습니다.
설치한 이미지로 Docker 컨테이너 만들어보기
다음과 같은 커맨드로 방금 다운로드한 pyTorch 이미지를 사용해서 컨테이너를 만들 수 있습니다.
docker run -it --rm pytorch/pytorch /bin/bash
위 커맨드에 대한 설명은 다음과 같습니다.
- docker run → 새로운 컨테이너를 실행하는 명령어
- -it → 인터랙티브 모드로 실행 (-i: 입력을 받을 수 있도록 함, -t: 터미널을 연결)
- --rm → 컨테이너 종료 시 자동으로 삭제
- pytorch/pytorch → PyTorch 공식 Docker 이미지 사용
- /bin/bash → 컨테이너 내에서 Bash 쉘 실행
그럼 다음과 같이 workspace로 진입한 것을 볼 수 있습니다.
즉, PyTorch 이미지를 사용해서 Docker 컨테이너를 만든 게 된다.
이 안에서 Python을 사용할 수 있습니다.
다음과 같이 직접 코드를 넣어서 컨테이너 안에서 코드를 실행할 수 있습니다.
pip를 사용해서 현재 설치되어 있는 패키지 목록도 볼 수 있다.
Docker 컨테이너는 저장하지 않으면 종료 시 원래 상태로 되돌아간다.
pip list 안에 없는 패키지를 다운로드해보고 컨테이너를 종료 후 다시 실행하여
해당 패키지가 유지되어 있는지 확인한다.
다음과 같은 커맨드로 pandas를 설치한다.
pip install pandas
그리고 다시 pip list를 사용해서 제대로 설치되었는지 확인한다.
이제 저장을 하지 않고 Docker 컨테이너를 종료한다.
다음 커맨드로 컨테이너를 종료할 수 있습니다.
exit
다시 한번 해당 이미지로 컨테이너를 만들어 본다.
기존에 설치했던 pandas 패키지가 없는 것을 알 수 있다.
Docker 컨테이너 상태 저장하기
다음과 같은 커맨드로 특정 컨테이너 상태를 기반으로 새로운 이미지를 저장할 수 있습니다.
docker commit [containerID] [repositoryName]:[tag]
(저장은 기본적으로 새로운 이름으로 저장됩니다.)
참고로 containerID는 다음과 같은 커맨드를 사용해서 현재 사용 중인 Docker 컨테이너를 확인해서 알 수 있습니다.
docker ps
위 예시를 사용해서 다음과 같은 방식으로 재현해 볼 수 있습니다.
- pyTorch 컨테이너 생성
- pip install pandas로 패키지 설치
- 새로운 터미널을 열고 docker commit 커맨드를 사용해서 현재 상태를 새로운 image로 저장
- 3번에서 만든 이미지로 새롭게 컨테이너 생성해서 상태가 저장되었는지 확인
Docker 사용하기 - 기초 정리
이번 포스팅에서 다음과 같은 내용을 알아봤습니다.
- Docker 다운로드 방법
- Docker에서 컨테이너와 이미지에 대한 설명
- Docker Hub에서 예시로 사용할 이미지 다운로드 하기
- 이미지를 사용해서 Docker 컨테이너 만들기
- Docker 컨테이너가 어떻게 동작하는지 확인하기
- Docker 컨테이너는 저장하지 않으면 항상 기존 상태로 돌아가는 것을 증명
즉, 다음과 같은 것들을 해볼 수 있습니다.
누군가 잘 세팅해 놓은 환경에서 개발을 진행하거나
자신이 만들어 놓은 환경을 변함없이 계속 사용하고 싶을 때
Docker를 사용해 볼 수 있습니다.
'IT 지식' 카테고리의 다른 글
도커(Docker)를 Windows에서 기본 위치가 아닌 다른 위치에 설치하기 (0) | 2025.02.09 |
---|---|
Google Cloud Storage 사용하기 - 셋업 및 테스트 (0) | 2025.01.30 |
Cloud Scheduler로 주기적으로 Google Cloud Functions 호출하기 (0) | 2025.01.24 |
Google Cloud Functions 사용하기 - 기초 Cloud CLI 셋업 (0) | 2025.01.19 |
우측 하단에 뜨는 광고창 없애기(카카오 광고 등) (0) | 2024.11.16 |
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
댓글