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
'컨테이너 > 도커' 카테고리의 다른 글
깃허브로부터 가져온 리액트 코드를 실행하는 도커 이미지 제작 (0) | 2023.03.16 |
---|---|
MySQL 컨테이너 생성 시 데이터베이스 스키마와 초기 데이터 생성 (0) | 2023.03.16 |
Docker Desktop 설치 (0) | 2022.01.24 |
스웜을 이용한 실전 애플리케이션 개발 3 (0) | 2020.09.23 |
스웜을 이용한 실전 애플리케이션 개발 2 (0) | 2020.09.23 |
댓글