기타

Docker - linux, windows, mac

열심히 해 2024. 12. 17. 13:56

Docker


: 컨테이너화 기술을 제공하는 오픈소스 플랫폼



애플리케이션을 격리된 환경(컨테이너)에서 실행하고 배포할 수 있도록 해줍니다. 이를 통해 개발, 테스트, 배포 등의 과정에서 일관성을 보장할 수 있습니다.

 

CI : Continuous Integration 지속적인 통합  /  CD : Continuous Deployment(Delivery) 지속적인 배포

 

 

요약

  • Linux에서는 Docker가 네이티브로 실행됩니다.
  • Windows에서는 Docker를 실행하기 위해 Docker Desktop과 함께 WSL2를 사용하여 리눅스 환경을 가상화하고 그 위에서 Docker를 실행합니다.
  • macOS에서는 Docker가 LinuxKit이라는 가상 머신을 사용해 실행되며, Docker Desktop을 설치하면 별도의 설정 없이 바로 Docker를 사용할 수 있습니다.

따라서 WindowsmacOS 모두에서 Docker를 실행할 수 있지만, 내부적으로는 리눅스 기반의 가상 머신을 사용하여 Docker를 실행하는 방식입니다.

 

 

1. Docker의 기본 동작 원리

  • Linux에서 Docker는 네이티브로 실행됩니다.
    • Docker는 Linux 커널의 컨테이너화 기능을 활용해 격리된 환경을 만들고 실행합니다.
    • Docker 컨테이너는 리눅스 커널을 기반으로 동작하며, 호스트 시스템의 커널을 공유합니다.

 

 

2. Windows에서 Docker 실행

Windows에서 Docker를 실행하려면 Docker Desktop을 설치해야 하며 WSL2(Windows Subsystem for Linux 2)가 필요합니다.

Windows에서 Docker 실행 과정

  1. Docker Desktop for Windows 설치
    • Docker Desktop을 Windows에 설치하면 Docker는 Windows에서 직접 실행되지 않고 가상 머신(VM) 내에서 실행됩니다. Docker는 Linux 기반이기 때문에 이를 실행하기 위해 Hyper-V 또는 WSL2(Windows Subsystem for Linux 2)를 사용합니다.
  2. WSL2 사용
    • WSL2는 Windows에서 리눅스 커널을 가상 머신으로 실행해 Docker를 리눅스 환경처럼 동작하게 합니다. WSL2는 Docker Desktop에 통합되어 있어 WSL2 환경에서 Docker를 사용할 수 있습니다.
    • WSL2를 사용하면 Ubuntu와 같은 리눅스 배포판을 설치하고 그 위에서 Docker를 실행할 수 있습니다.
  3. Docker 명령어 사용
    • Docker Desktop이 WSL2와 통합되면 Windows 터미널, Ubuntu(WSL), 또는 Git Bash에서 Docker 명령어를 사용할 수 있습니다. WSL2 내에서 Docker가 실행되므로 리눅스 환경처럼 컨테이너를 다룰 수 있습니다.

정리

  • Windows에서는 Docker가 리눅스 커널을 기반으로 동작하기 때문에 WSL2를 사용하거나 Docker Desktop을 설치해 Docker를 사용할 수 있습니다.
  • Ubuntu와 같은 리눅스 배포판을 WSL2로 설치하고 그 위에서 Docker를 실행할 수 있습니다.

 

 

3. macOS에서 Docker 실행

macOS에서는 Docker를 네이티브로 실행할 수 있습니다. Linux 가상 머신을 사용하여 Docker를 실행합니다.

macOS에서 Docker 실행 과정

  1. Docker Desktop for Mac 설치
    • Docker DesktopmacOS에서 Docker를 실행할 수 있도록 도와줍니다. Docker Desktop은 기본적으로 LinuxKit이라는 가상 머신을 사용하여 macOS에서 Docker를 실행합니다. 이 가상 머신 안에서 Docker 엔진이 실행됩니다.
  2. Docker 명령어 사용
    • Docker Desktop을 설치하면 터미널에서 docker 명령어를 사용할 수 있게 됩니다. macOSDocker 엔진을 실행하기 위해 가상 머신을 사용하지만, 사용자는 그 안에서 실행되는 Docker 컨테이너를 마치 네이티브 환경처럼 다룰 수 있습니다.

정리

  • macOS에서 Docker는 가상 머신(LinuxKit)을 사용하여 실행됩니다.
  • Docker Desktop for Mac을 설치하면, 특별한 설정 없이도 바로 터미널에서 Docker 명령어를 사용할 수 있습니다.