주간 랩업/[SCC] Docker 기반 CI&CD 파이프라인 구축하기

1-10. Docker란?

hooooolly 2025. 3. 24. 16:01
🤔 도커는 클라우드 네이티브 개발의 필수 도구로, 애플리케이션을 패키징하여 다양한 환경에서 동일한 조건으로 실행할 수 있게 합니다. 이로 인해 개발자 간의 협업이 원활해지고, 실행 시 버전 불일치 문제를 최소화합니다. 마지막으로, 컨테이너 오케스트레이션 툴과의 통합을 통해 효율적인 운영과 협업을 가능하게 합니다.

 

왜 Docker를 해야 하나요?

 

✅ Kubernetes는 소프트웨어 산업의 사실상 표준으로 Docker 기반의 플랫폼입니다. 이제 모든 개발은 Docker를 염두에 두고 개발을 합니다. 가볍고, 빠르고, 모든 의존성을 포함하고 있어서 개발과 배포를 용이하게 하기 때문입니다.

 

Docker에 대해

 

✅ 도커는 패키징 하는 기술이다

✅ 타 패키징 툴과 비교해서 애플리케이션 실행에 필요한 라이브러리, 런타임, 설정파일뿐만 아니라 운영체제가 제공하는 네트워크, 볼륨, 프로세스, IPC까지 가상화 함께 패키징 한다

✅ 도커는 운영체제 위에서 가상화하여 격리된 특징을 가지는 프로세스이다. 패키징 프로세스가 빠르고 가볍다

✅ 패키징 결과물을 Docker Image라고 한다. 도커 이미지를 통해 어디에서든 동일한 작동을 보장하는 애플리케이션을 배포한다

 

Docker와 가상머신의 차이

 

🗨️ 가상 머신의 경우

  • 호스트 운영체제 위에 Hypervisor가 가상머신을 실행하고 관리한다
  • 하나의 가상머신 안에 새로운 운영체제가 독립적으로 올라간다

🗨️ Docker는 서버 가상화와 비교해서 아래의 특징을 가진다

  • 도커는 호스트 운영체제 위에 격리된 프로세스 올라간다.
    • 하드웨어를 가상화하지 않는다
    • 운영체제 위에서 가상화한다
  • 프로세스가 실행되기 때문에 다음과 같은 장점을 가진다
    • 프로세스가 실행되는 수준으로 빠르고 메모리를 적게 사용하여 빠르고, 가볍다
    • 배포에 필요한 모든 것들이 포함되어 있어 배포와 확장이 쉽다
    • 컨테이너 오케스트레이션 (k8s)와 같은 툴과 함께 써서 더 빠르고 확장성을 높일 수 있다

 

 

Docker 설치하기

 

https://docs.docker.com/engine/install/ubuntu/

 

Ubuntu

Jumpstart your client-side server applications with Docker Engine on Ubuntu. This guide details prerequisites and multiple methods to install Docker Engine on Ubuntu.

docs.docker.com

 

위 공식문서에서 apt 레포지토리로 도커 설치

도커를 처음 설치하면 root 권한 사용자만 사용할 수 있다

※ 일반유저도 도커를 실행할 수 있도록 따로 일반유저를 도커 그룹에 포함시켜 매번 sudo를 할 필요 없도록 설정!

 

 

✨ 도커 명령어 알아보기 ✨

  • docker pull : 도커 이미지를 로컬에 가져오기 
  • docker images : 로컬 PC에 있는 도커 이미지 목록 출력
  • docker run : 도커 이미지 실행