본문 바로가기
컨테이너/도커

윈도우에 도커 데스크탑 설치

by ^..^v 2023. 2. 24.
728x90
반응형

Install Docker Desktop on Windows 

Docker Desktop은 컨테이너화된 애플리케이션 및 마이크로서비스를 구축하고 공유할 수 있는 Mac, Linux, Windows 환경용 원클릭 설치 애플리케이션으로, 설치된 머신에서 컨테이너, 애플리케이션, 이미지를 관리할 수 있는 간단한 GUI를 제공합니다.

여기에서는 윈도우 환경에 Docker Desktop을 설치하고 간단한 컨테이너 어플리케이션을 실행하는 방법을 설명합니다. 

우분투 환경에 도커를 설치하는 방법은 https://myanjini.tistory.com/entry/01-%EB%8F%84%EC%BB%A4-%EC%84%A4%EC%B9%98 를 참고하세요.

 

 

01 설치 파일 다운로드 

https://docs.docker.com/desktop/install/windows-install/ 페이지에서 설치 파일을 다운로드 합니다. 

 

02 시스템 요구사항 확인

윈도우용 도커 데스크탑은 WSL2 또는 Hyper-V 기반으로 설치할 수 있습니다.

여기에서는 WSL2 기반으로 설치를 진행하므로 최소 시스템 요구사항을 만족하지 못 하는 경우 윈도운 업데이트를 먼저 진행합니다.

 

03 WSL2 기반으로 설치

01에서 다운로드 받은 설치 파일을 실행하고, Use WSL2 instead of Hyper-V 를 선택한 상태에서 설치를 진행합니다. 

 

04 설치 완료 후 리부팅

설치가 완료되면 Close and restart 버튼을 클릭해 시스템을 리부팅합니다.

 

05 Docker Desktop 실행

(리부팅 후 자동 시작되지 않는 경우) 바탕화면 또는 시작 메뉴에 Docker Desktop 링크를 클릭해 Docker Desktop을 실행합니다. 

 

06 서비스 약관 동의

 

최초 실행 시 WSL 커널 업데이트 안내 창이 떴다가 화면 뒤로 감춰지면서 인증 정보 입력창과 이용 관련 설문 창이 뜰 수 있습니다. 해당 입력창을 스킵하고 다음으로 넘어가도 무관하겠습니다.

 

07 WSL 커널 업데이트

WSL 커널 업데이트 안내 창을 확인하고 https://learn.microsoft.com/ko-kr/windows/wsl/wsl2-kernel 사이트로 이동합니다. 

 

08 WSL2 Linux 커널 업데이트 패키지 다운로드 후 설치

WSL2 Linux 커널 업데이트 패키지 다운로드 링크를 클릭해 설치 파일을 다운로드 후 설치합니다. 

 

 

09 PowerShell를 실행하고 WSL2를 기본 버전으로 설정

 

 

10 Docker Desktop 다시 실행

바탕화면 또는 시작 메뉴에 Docker Desktop 링크를 클릭해 Docker Desktop을 실행합니다. 화면 왼쪽 하단에 아이콘이 초록색으로 바뀌고 마우스를 올리면 Engine running 메시지가 출력되는 것을 확인할 수 있습니다. 

 

11 명령 프롬프트에서 도커 CLI 실행 확인

명령 프롬프트를 실행하고, 도커 CLI 명령어가 실행되는지 확인합니다. 

C:\Users\myanj> docker version
Client:
 Cloud integration: v1.0.35+desktop.4
 Version:           24.0.6
 API version:       1.43
 Go version:        go1.20.7
 Git commit:        ed223bc
 Built:             Mon Sep  4 12:32:48 2023
 OS/Arch:           windows/amd64
 Context:           default

Server: Docker Desktop 4.23.0 (120376)
 Engine:
  Version:          24.0.6
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.7
  Git commit:       1a79695
  Built:            Mon Sep  4 12:32:16 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.22
  GitCommit:        8165feabfdfe38c65b599c4993d227328c231fca
 runc:
  Version:          1.1.8
  GitCommit:        v1.1.8-0-g82f18fe
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

 

12 도커 명령어 확인

docker --help  명령어로 도커 명령어 사용법과 구성을 확인합니다. 

C:\Users\myanj> docker --help

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Common Commands:
  run         Create and run a new container from an image
  exec        Execute a command in a running container
  ps          List containers
  build       Build an image from a Dockerfile
  pull        Download an image from a registry
  push        Upload an image to a registry
  images      List images
  login       Log in to a registry
  logout      Log out from a registry
  search      Search Docker Hub for images
  version     Show the Docker version information
  info        Display system-wide information

Management Commands:
  builder     Manage builds
  buildx*     Docker Buildx (Docker Inc., v0.11.2-desktop.4)
  compose*    Docker Compose (Docker Inc., v2.21.0-desktop.1)
  container   Manage containers
  context     Manage contexts
  dev*        Docker Dev Environments (Docker Inc., v0.1.0)
  extension*  Manages Docker extensions (Docker Inc., v0.2.20)
  image       Manage images
  init*       Creates Docker-related starter files for your project (Docker Inc., v0.1.0-beta.7)
  manifest    Manage Docker image manifests and manifest lists
  network     Manage networks
  plugin      Manage plugins
  sbom*       View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
  scan*       Docker Scan (Docker Inc., v0.26.0)
  scout*      Command line tool for Docker Scout (Docker Inc., 0.24.1)
  system      Manage Docker
  trust       Manage trust on Docker images
  volume      Manage volumes

Swarm Commands:
  swarm       Manage Swarm

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  events      Get real time events from the server
  export      Export a container's filesystem as a tar archive
  history     Show the history of an image
  import      Import the contents from a tarball to create a filesystem image
  inspect     Return low-level information on Docker objects
  kill        Kill one or more running containers
  load        Load an image from a tar archive or STDIN
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Remove one or more images
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  wait        Block until one or more containers stop, then print their exit codes

Global Options:
      --config string      Location of client config files (default
                           "C:\\Users\\myanj\\.docker")
  -c, --context string     Name of the context to use to connect to the
                           daemon (overrides DOCKER_HOST env var and
                           default context set with "docker context use")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket to connect to
  -l, --log-level string   Set the logging level ("debug", "info",
                           "warn", "error", "fatal") (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default
                           "C:\\Users\\myanj\\.docker\\ca.pem")
      --tlscert string     Path to TLS certificate file (default
                           "C:\\Users\\myanj\\.docker\\cert.pem")
      --tlskey string      Path to TLS key file (default
                           "C:\\Users\\myanj\\.docker\\key.pem")
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit

Run 'docker COMMAND --help' for more information on a command.

For more help on how to use Docker, head to https://docs.docker.com/go/guides/

 

13 도커 하위 명령어 사용법 확인

docker 관리명령어 --help 명령어 또는 docker 관리명령어 하위명령어 --help 명령어로 도커 하위 명령어 사용법과 구성을 확인합니다. 

C:\Users\myanj> docker container --help

Usage:  docker container COMMAND

Manage containers

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  exec        Execute a command in a running container
  export      Export a container's filesystem as a tar archive
  inspect     Display detailed information on one or more containers
  kill        Kill one or more running containers
  logs        Fetch the logs of a container
  ls          List containers
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  prune       Remove all stopped containers
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  run         Create and run a new container from an image
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  wait        Block until one or more containers stop, then print their exit codes

Run 'docker container COMMAND --help' for more information on a command.

 

14 최신 버전의 우분투 컨테이너에서 Hello World 메시지를 출력

최신 버전의 우분투 컨테이너를 실행하고, 해당 컨테이너 쉘에서 Hello World 메시지를 출력합니다.

C:\Users\myanj> docker container run ubuntu /bin/echo "Hello World"
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
445a6a12be2b: Pull complete
Digest: sha256:aabed3296a3d45cede1dc866a24476c4d7e093aa806263c27ddaadbdce3c1054
Status: Downloaded newer image for ubuntu:latest
Hello World

C:\Users\myanj> docker container ls -a
CONTAINER ID   IMAGE     COMMAND                   CREATED          STATUS                      PORTS     NAMES
a1ac43f66fa4   ubuntu    "/bin/echo 'Hello Wo…"   11 seconds ago   Exited (0) 10 seconds ago             boring_lalande

C:\Users\myanj> docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
ubuntu       latest    c6b84b685f35   4 weeks ago   77.8MB
728x90
반응형

댓글