CLI

Version

버전 확인 (version)

$ docker version
$ docker --version
$ docker version

정보 확인 (info)

$ docker info

Image

Syntax

$ docker search IMAGE

Example

$ docker search ubuntu

이미지 λ‹€μš΄ (pull)

Syntax

$ docker pull IMAGE[:TAG]

Example

$ docker pull ubuntu:latest

이미지 λͺ©λ‘ (ls)

Syntax

$ docker image ls

이미지 μ‚­μ œ (rmi)

Syntax

$ docker rmi IMAGE[:TAG]

Example

$ docker rmi ubuntu

Container

μ»¨ν…Œμ΄λ„ˆ 생성 (run)

Syntax

$ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

Example

$ docker run -i -t -d -p 80:80/tcp --name ubuntu_container ubuntu /bin/bash

ubuntu 이미지λ₯Ό μ»¨ν…Œμ΄λ„ˆλ‘œ 생성

  • ubuntu 이미지λ₯Ό μ»¨ν…Œμ΄λ„ˆλ‘œ 생성
  • -i(interactive)
    • ν‘œμ€€ μž…λ ₯(stdin)을 ν™œμ„±ν™”
    • μ»¨ν…Œμ΄λ„ˆμ™€ μ—°κ²°(attach)λ˜μ–΄ μžˆμ§€ μ•Šλ”λΌλ„ ν‘œμ€€ μž…λ ₯을 μœ μ§€ν•©λ‹ˆλ‹€.
    • 보톡 이 μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ—¬ Bash에 λͺ…령을 μž…λ ₯ν•©λ‹ˆλ‹€.
  • -t(Pseudo-tty)
    • TTY λͺ¨λ“œ
    • Bash Shell μ‚¬μš©ν•˜λ €λ©΄ ν•„μš”ν•œ μ˜΅μ…˜
    • 이 μ˜΅μ…˜μ„ μ„€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ λͺ…령을 μž…λ ₯ν•  μˆ˜λŠ” μžˆμ§€λ§Œ 셸이 ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  • -d (detached)
    • 데λͺ¬ λͺ¨λ“œ
    • μ»¨ν…Œμ΄λ„ˆκ°€ λ°±κ·ΈλΌμš΄λ“œλ‘œ λ™μž‘ λœλ‹€
  • -v (volume)
    • 호슀트의 디렉토리가 데이터 λ³Όλ₯¨μœΌλ‘œ μƒμ„±λ˜μ–΄ κ³΅μœ λœλ‹€.
    • [HOST_PATH] : [CONTAINER_PATH]
  • -p (port)
    • μ»¨ν…Œμ΄λ„ˆ 포트 ν¬μ›Œλ”©
    • [HOST_PORT] : [CONTAINER_PORT]
  • --name
    • μ»¨ν…Œμ΄λ„ˆμ˜ 이름을 지정
  • /bin/bash μ‰˜μ„ μ΄μš©ν•˜μ—¬ μž…μΆœλ ₯을 ν•  수 μžˆλ‹€.

μ»¨ν…Œμ΄λ„ˆ λͺ©λ‘ (ls)

$ docker container ls [option]       # running
$ docker container ls --all          # all
$ docker container ls -aq            # all and quite mode

μ»¨ν…Œμ΄λ„ˆ 기동 (start)

$ docker start CONTAINER

μ»¨ν…Œμ΄λ„ˆ μž¬μ‹œμž‘ (restart)

$ docker restart CONTAINER

μ»¨ν…Œμ΄λ„ˆ 접속 (attach)

$ docker attach CONTAINER

μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€ λͺ…λ Ή μ‹€ν–‰ (exec)

$ docker exec CONTAINER COMMAND [ARG...]

Docker λ₯Ό μ»¨ν…Œμ΄λ„ˆλ‘œ μ§„μž… ν›„ exit λͺ…λ Ήμ–΄λ‘œ μ»¨ν…Œμ΄λ„ˆλ₯Ό λΉ μ Έ λ‚˜μ˜€λ©΄ μ»¨ν…Œμ΄λ„ˆκ°€ μ’…λ£Œλ˜κΈ° λ•Œλ¬Έμ— 이에 λŒ€ν•΄ μ‚¬μš©ν•œλ‹€.

$ docker exec -it CONTAINER /bin/bash

CONTAINER 이름을 가진 μ»¨ν…Œμ΄λ„ˆμ— /bin/bash μ‰˜μ„ μ‚¬μš©ν•œλ‹€.
exit λͺ…λ Ήμ–΄λ‘œ Shell (μ»¨ν…Œμ΄λ„ˆ) 을 λΉ μ Έ λ‚˜μ™€λ„ μ»¨ν…Œμ΄λ„ˆκ°€ μ’…λ£Œλ˜μ§€ μ•ŠλŠ”λ‹€.

μ»¨ν…Œμ΄λ„ˆ μ‚­μ œ (rm)

$ docker rm CONTAINER

μ»¨ν…Œμ΄λ„ˆ 세뢀정보 확인 (inspect)

μ»¨ν…Œμ΄λ„ˆμ˜ 세뢀정보λ₯Ό json ν˜•νƒœλ‘œ 확인 κ°€λŠ₯

$ docker inspect CONTAINER

μ»¨ν…Œμ΄λ„ˆμ— 파일 볡사 (cp)

μ»¨ν…Œμ΄λ„ˆ -> 호슀트
$ docker cp CONTAINER:CONTAINER_FILE_PATH HOST_FILE_PATH
호슀트 -> μ»¨ν…Œμ΄λ„ˆ
$ docker cp HOST_FILE_PATH CONTAINER:CONTAINER_FILE_PATH
$ docker cp ubuntu:/etc/nginx/nginx.conf ./

ubuntu 내에 μžˆλŠ” nginx.conf νŒŒμΌμ„ μ§€μ •λœ 둜컬 호슀트 경둜둜 λ³΅μ‚¬ν•œλ‹€.