멀티캠퍼스

Docker 사용해보기

isaacagent 2025. 10. 28. 21:59
728x90

Docker는 애플리케이션과 그 실행 환경을 하나의 컨테이너라는 격리된 공간으로 패키징하는 오픈 소스 플랫폼을 말한다. 

이미지를 생성하고 컨테이너로 실행을 하는 구조로 되어있다.

여러 컨테이너가 필요한 경우엔 Docker Compose로 동시에 여러 컨테이너를 띄울 수 있다.

 

추가로 알면 좋은 것은 Kubernetes 란 도구이다. 이것은 컨테이너를 대규모로 자동 배포, 확장, 관리하는 오케스트레이션 도구이다. 수 십개부터 수천개의 컨테이너를 여러 서버에 분배를 하고, 장애 대응이나 자동 스케일링, 롤링 업데이트 등에서 활용이 된다.

그림 1. Docker GUI 모습

현재 컨테이너 탭에서 생성한 하나의 컨테이너가 존재한다. WSL을 설치를 해야지 Docker를 내 컴퓨터 환경에서 동작이 가능하며, 저 컨테이너를 만들기 위해서는 image를 미리 생성해둬야한다. 이미지를 얻는 방법은 여러 방법이 존재한다. 그 중에서 내가 직접 이미지를 생성을 하는 것과 이미지를 오픈 소스에서 다운로드 하여 사용을 하는 것이다.

그림 2. Docker Hub

다음 Docker Hub에서는 직접 설치를 하지않아도 Container 만 구성해줘도 되는 형태의 수많은 이미지들이 게시되어 있다. 굳이 내 컴퓨터 환경에서 많은 자원을 들이지 않고, 관리가 가능하다는 점이 좋은 점을 준다.

 

그럼 얼추 Docker에 대한 장점을 설명한 거 같고, 활용 부분으로 넘어가보자.

처음엔 중요한 Docker의 환경설정을 해야한다. 

FROM ubuntu:20.04           # 어떤 OS로 만들지
RUN apt-get update          # 필요한 기능 설치
COPY . /app                 # 내 코드 복사
CMD ["python3", "/app/main.py"]   # 컨테이너 실행 시 실행할 명령

 

그 후 Dockerfile이 있는 directory에서 

docker build -t myimage:latest .

 

이런 명령어를 실행한다. build는 이미지를 생성하는 명령어이고 -t 는 이미지와 이름 및 태그를 지정하는 옵션, myimage:latest는 이미지명, 온점은 현재 위치에 있는 모든 파일과 폴더를 대상으로 만든다는 것이다. 

 

그 후 docker에

docker images

그림 3. 이미지 정보

라 하면 생성된 이미지에 대한 정보가 나온다.

 

해당 이미지를 통하여 컨테이너를 동작하는 방식은

docker run -d -p <호스트포트>:<컨테이너포트> --name <이름><이미지>

해당 명령어를 따르면 된다. 

이후 컨테이너를 실행을 하면 

docker ps

를 통하여 현재 실행이 되고 있는 컨테이너에 대한 정보에 접근 할 수 있게 된다.

그림 4 .docker ps
그림 5. docker image 삭제

첫번째 명령어는 실행이 되고 있는 컨테이너의 동작을 중지하고 제거하는 명령어이다.

그림 6. docker 컨테이너 중지 및 삭제 명령어

 

그 외에도 docker의 이미지를 삭제하는 명령어들도 존재한다.

그림 7. docker 이미지 삭제 명령어

컨테이너에 대한 가벼운 관리를 진행하면서 Docker에 대한 이해도를 점차 넓혀가면 좋을 것이다.