Windows 11에서 Docker Deasktop 도커 데스크탑 설치하기

Windows 11에 Docker를 설치하고 구성하는 과정에 기록한다. 딱히 누군가에게 큰 도움이 되지는 않을것이라 생각하며, 보다 자세한 설명이 필요한 경우에는 다른 블로그나, 개발자 페이지를 참고하시길 바란다. 아래는 내가 진행하면서 참고한 Windows 11에서 Docker를 설치하는 과정을 작성한 것이다.

참고하는데 도움이 된 것은 Microsoft에서 관리하는 Learn 과 여러 블로그 글을 참고하여 작성 후 gpt 를 통해 글을 정리하였다.

https://learn.microsoft.com/ko-kr/virtualization/windowscontainers/manage-docker/configure-docker-daemon

1. Docker 설치

1-1. Docker Desktop 설치

  1. Docker 공식 웹사이트 방문:
  2. Docker Desktop 다운로드:
    • “Get Docker Desktop for Windows” 버튼을 클릭하여 설치 파일을 다운로드.
  3. 설치:
    • 다운로드한 .exe 파일을 실행하여 Docker Desktop을 설치.
    • 설치 과정에서 WSL 2가 자동으로 설치되고 활성화될 수 있도록 안내합니다.
  4. Windows 시스템 재부팅:
    • 설치가 완료되면, Docker Desktop을 원활하게 사용하기 위해 시스템을 재부팅.

1-2. WSL 2 설치 및 활성화

Docker는 WSL 2(Windows Subsystem for Linux 2)를 사용하여 리눅스 컨테이너를 실행합니다. WSL 2가 설치되지 않으면 Docker가 정상적으로 작동하지 않습니다.

  1. PowerShell을 관리자 권한으로 실행하고, WSL 2를 설치합니다: wsl --set-default-version 2
  2. Linux 배포판 설치:
    • Microsoft Store에서 원하는 리눅스 배포판(예: Ubuntu)을 설치하고 설정합니다.
  3. WSL 2 상태 확인: wsl --list --verbose 이 명령을 통해 WSL 2가 활성화된 리눅스 배포판을 확인할 수 있습니다.

2 Docker 엔진 구성

Docker 엔진은 다양한 방법으로 구성할 수 있습니다. 일반적으로 구성 파일을 수정하여 Docker 엔진의 동작을 변경합니다.

2-1. 구성 파일 사용

Docker 엔진의 주요 구성 파일은 daemon.json입니다. 이 파일을 통해 Docker의 다양한 설정을 변경할 수 있습니다. 기본 경로는 C:\ProgramData\Docker\config\daemon.json입니다. 이 파일이 없으면 새로 생성할 수 있습니다.

기본 daemon.json 예시:

{
    "authorization-plugins": [],
    "dns": [],
    "dns-opts": [],
    "dns-search": [],
    "storage-driver": "",
    "log-driver": "",
    "debug": true,
    "hosts": ["tcp://0.0.0.0:2375"],
    "data-root": "D:\\docker",
    "tlsverify": true,
    "tlscacert": "C:\\ProgramData\\docker\\certs.d\\ca.pem",
    "tlscert": "C:\\ProgramData\\docker\\certs.d\\server-cert.pem",
    "tlskey": "C:\\ProgramData\\docker\\certs.d\\server-key.pem"
}

이 구성 파일에서는 여러 설정을 조정할 수 있습니다. 예를 들어:

  • 포트 설정: "hosts": ["tcp://0.0.0.0:2375"]는 모든 IP 주소에서 2375번 포트를 통해 Docker 엔진에 접근할 수 있도록 합니다.
  • 데이터 경로 설정: "data-root": "D:\\docker"는 Docker의 이미지 및 컨테이너 파일이 D: 드라이브에 저장되도록 설정합니다.
  • 보안 설정: tlsverify 및 인증서 설정(tlscacert, tlscert, tlskey)을 통해 보안 연결을 설정할 수 있습니다.

2-2. Docker 서비스 구성

Docker 서비스는 sc config 명령을 사용하여 수정할 수 있습니다. 예를 들어, Docker 엔진에 --run-service-H tcp://0.0.0.0:2375 플래그를 추가하려면 다음 명령을 사용할 수 있습니다:

sc config docker binpath= "\"C:\\Program Files\\docker\\dockerd.exe\" --run-service -H tcp://0.0.0.0:2375"

이 명령은 Docker 엔진을 TCP 2375 포트로 접근할 수 있게 설정합니다. daemon.json 파일에 이미 포트 설정이 되어 있다면 이 명령을 실행할 필요는 없습니다.

3. 일반적인 Docker 구성 예시

3-1. 기본 네트워크 설정

Docker는 기본적으로 NAT(Network Address Translation) 네트워크를 사용하여 컨테이너를 연결합니다. 이를 비활성화하려면 다음과 같이 구성할 수 있습니다:

{
    "bridge": "none"
}

이 설정은 기본 네트워크인 bridge를 사용하지 않도록 설정합니다.

3-2. Docker 보안 그룹 설정

Docker는 기본적으로 Administrators 그룹의 멤버만 명명된 파이프를 통해 Docker 엔진에 액세스할 수 있습니다. 다른 보안 그룹을 지정하려면 다음과 같이 설정할 수 있습니다:

{
    "group": "docker"
}

이 설정은 docker라는 보안 그룹을 Docker 엔진에 대한 액세스 권한을 부여합니다.

3-3. 프록시 설정

Docker가 프록시 서버 뒤에서 실행되는 경우, HTTP_PROXYHTTPS_PROXY 환경 변수를 설정하여 프록시를 지정할 수 있습니다. PowerShell을 사용하여 다음 명령으로 설정할 수 있습니다:

[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://username:password@proxy:port/", [EnvironmentVariableTarget]::Machine)

변수를 설정한 후에는 Docker 서비스를 다시 시작해야 합니다

Restart-Service docker

Docker를 제거하는 방법

Docker를 제거하기 전에 실행 중인 컨테이너, 이미지, 네트워크 등을 정리해야 합니다. 다음 명령어로 이를 수행할 수 있습니다.

Docker의 제거를 위해 시스템 준비

Docker를 제거하기 전에 시스템에서 실행 중인 컨테이너가 없는지 확인합니다.

다음 cmdlet을 실행하여 실행 중인 컨테이너를 확인합니다.

PowerShell >

# Leave swarm mode (this will automatically stop and remove services and overlay networks)
docker swarm leave --force

# Stop all running containers
docker ps --quiet | ForEach-Object {docker stop $_}

Docker를 제거하기 전에 모든 컨테이너, 컨테이너 이미지, 네트워크 및 볼륨 또한 시스템에서 제거하는 것이 좋습니다. 다음 cmdlet 을 실행하면 이 작업을 수행할 수 있습니다.

PowerShell >

docker system prune --volumes --all
  1. Docker 제거 순서
  2. Windows 10에서 Docker 제거:
    • Windows 10 머신에서 설정>으로 이동
    • 앱 및 기능 아래에서 Windows용 Docker 찾기
    • Windows용 Docker>제거로 이동

Windows Server 2016에서 Docker 제거 방법은 맨 앞에서 언급했던 하단의 링크에 보다 자세하게 나와있으니, 참고하여 제거 하시면 되겠습니다. Windows Server 환경이 필요하지 않아서 이 부분은 아예 제외함.

https://learn.microsoft.com/ko-kr/virtualization/windowscontainers/manage-docker/configure-docker-daemon

    결론

    Windows 11에서 Docker를 설치하고 구성하는 과정은 여러 단계로 나누어져 있으며, Docker 엔진의 다양한 설정을 통해 성능과 보안을 최적화할 수 있습니다. daemon.json 파일을 사용하여 Docker의 설정을 맞추고, 필요에 따라 서비스 구성을 수정하는 등의 방법을 통해 Docker의 동작을 세밀하게 제어할 수 있습니다.

    Similar Posts

    답글 남기기