๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
DevOps/Docker

Docker ์ด๋ฏธ์ง€ ์ œ์–ด, ๊ธฐ๋ณธ์œผ๋กœ ์•Œ์•„์•ผํ•˜๋Š” ๋ช…๋ น๊ณผ ์˜ต์…˜

by ๐ŸŒปโ™š 2021. 10. 6.

Docker ์ด๋ฏธ์ง€ ์ œ์–ด

์ด ๊ธ€์—์„œ๋Š” Docker ์ด๋ฏธ์ง€ ์ œ์–ดํ•˜๋Š”๋ฐ ํ•„์ˆ˜๋กœ ์•Œ์•„์•ผํ•  ๊ธฐ๋ณธ์ ์ธ ๋ช…๋ น๊ณผ ์˜ต์…˜๋“ค์„ ์†Œ๊ฐœํ•œ๋‹ค.

 

์›ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•ด์•ผํ•œ๋‹ค. ์ด๋Ÿฐ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด๋ฏธ์ง€๊ฐ€ ํ•„์š”ํ•˜๋‹ค. Docker์—์„œ ์ด๋ฏธ์ง€๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ์‚ฌ์šฉ๋˜๋Š” Base, ์„ค๊ณ„๋„, ํ‹€์ด ๋œ๋‹ค.

 

Java์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์…จ๋‹ค๋ฉด ํด๋ž˜์Šค์™€ ๊ฐ์ฒด์˜ ๊ด€๊ณ„์™€ ๋น„์Šทํ•˜๋‹ค.

 

 

Docker CLI command

Docker๋ฅผ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด Docker CLI command Tool๋„ ํ•จ๊ป˜ ์„ค์น˜๊ฐ€ ๋˜์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด๋Š” Command Line ํ˜•ํƒœ๋กœ Docker๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ํˆด ์ž…๋‹ˆ๋‹ค.

 

 

--help

Docker CLI command๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ Docker Docs ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ •ํ™•ํ•œ ๋ฐฉ๋ฒ•์ธ๋ฐ... command์˜ "--help" ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์ด๋‚˜ ์˜ต์…˜์ •๋„๋Š” ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งค์šฐ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, Docker CLI ๋ง๊ณ  ๋‹ค๋ฅธ CLI ํˆด์—์„œ๋„ ์ด๋Ÿฐ ๋ช…๋ น์ด ์ œ๊ณต๋˜์–ด "--help"๋ช…๋ น์œผ๋กœ ํ™•์ธํ•˜๋Š” ๊ฒƒ์„ ์Šต๊ด€ํ™”ํ•˜๋ฉด ๋‹ค๋ฅธ CLIํˆด๋„ ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋  ๊ฒ๋‹ˆ๋‹ค.

 

$ docker image --help

๊ธฐ๋ณธ์ ์œผ๋กœ "--help" ์˜ต์…˜์„ ํ†ตํ•ด ์–ด๋–ค ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

$ docker image pull --help

๊ฐ€์žฅ ์ƒ์œ„ ๋ช…๋ น์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์„ธ๋ถ€ command์— ๋Œ€ํ•œ ์‚ฌ์šฉ๋ฒ•๋„ "--help"๋ช…๋ น์„ ์‚ฌ์šฉํ•ด์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ์‹์œผ๋กœ ์„ธ๋ถ€ ๋‚ด์šฉ์„ ํ™•์ธํ•ด๊ฐ€๋ฉด์„œ CLI ํˆด์„ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ๊ธˆ๋ฐฉ ์ต์ˆ™ํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

 

Management Command์™€ Alias Command

$ docker --help

Docker CLI Tool์—๋Š” Management Command๋กœ ๊ทธ๋ฃนํ™”๋˜์–ด ์žˆ๋Š” ๋ช…๋ น๋“ค์ด ์žˆ๊ณ  ์ผ๋ฐ˜ Command๊ฐ€ ์žˆ๋‹ค. ์ด์ „์—๋Š” Management Command๊ฐ€ ๋”ฐ๋กœ ๊ทธ๋ฃนํ™” ๋˜์–ด ์žˆ์ง€ ์•Š์•˜์œผ๋‚˜... Docker CLI 1.13๋ถ€ํ„ฐ ๊ด€๋ฆฌ์ ์ธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์†์‰ฌ์šด ๋ช…๋ น ์‚ฌ์šฉ์„ ์œ„ํ•ด ๋ช…๋ น์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ทธ๋ฃนํ™” ํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋Œ€๋ถ€๋ถ„์˜ ์ผ๋ฐ˜ Command์—๋Š” Management Command๋กœ ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ค„์ธ ๋ณ„์นญ๊ฐ™์€ ๋ช…๋ น์ด๋‹ค.

 

 

์˜ˆ์‹œ

# ์ด๋ฏธ์ง€ ๋ฐ›๊ธฐ
$ docker image pull NAME[:TAG|@DIGEST]
$ docker pull NAME[:TAG|@DIGEST]

# ์ด๋ฏธ์ง€ ์กฐํšŒ
$ docker image ls
$ docker images

# ์ด๋ฏธ์ง€ ์‚ญ์ œ
$ docker image rm IMAGE [IMAGE...]
$ docker rmi IMAGE [IMAGE...]

์œ„์˜ ์˜ˆ์‹œ๋Š” ๋ชจ๋‘ ๊ฐ™์€ ์ž‘์—…์„ ํ•˜๋Š” ๋ช…๋ น์„ Management Command์™€ ์ผ๋ฐ˜ Command๋กœ ์ž‘์„ฑํ•œ ๋ช…๋ น๋“ค์ด๋‹ค. ๊ทธ๋ƒฅ ๋ช…๋ น๋งŒ ๋ดค์„ ๋•Œ ๋น„์Šทํ•œ ๋ช…๋ น๋“ค์ด ์žˆ์–ด ์ผ๋ฐ˜ Command๊ฐ€ ์–ด๋–ค Management Command์™€ ์—ฐ๊ฒฐ์ด๋˜๋Š”์ง€ ์–ด๋Š์ •๋„๋Š” ์ˆ™์ง€ํ•˜๊ณ  ์‚ฌ์šฉํ•ด์•ผ ํ˜ผ๋ž€์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ๋ช…๋ น์ด ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ์ด๋‹ค.

 

 

# ๋ชจ๋“  ์ด๋ฏธ์ง€ ์ถœ๋ ฅ
$ docker image ls

# ์ด๋ฏธ์ง€ ์ถœ๋ ฅ์ด ์•ˆ๋œ๋‹ค.
$ docker images ls

์œ„์— ์ฒ˜๋Ÿผ "docker image ls" ๋ช…๋ น์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ๋Š” ๋ชจ๋“  ์ด๋ฏธ์ง€๊ฐ€ ์ถœ๋ ฅ ๋˜์—ˆ๋Š”๋ฐ... "docker images ls"๋กœ ๋ช…๋ น์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ๋Š” ์•„๋ฌด ์ด๋ฏธ์ง€๊ฐ€ ์ถœ๋ ฅ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. "docker images"๋Š” "docker image ls"์˜ ๋ณ„์นญ์ฒ˜๋Ÿผ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์ด๋‹ค. ๊ทธ๋ž˜์„œ "docker images ls"๋Š” "docker image ls ls" ํ˜•ํƒœ๋กœ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ls ํ˜น์€ list๋กœ ๋˜์–ด ์žˆ๋Š” ์ด๋ฏธ์ง€๊ฐ€ ์—†์–ด ์•„๋ฌด ์ด๋ฏธ์ง€๊ฐ€ ๋ชฉ๋ก์— ์ถœ๋ ฅ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ด๋‹ค.

 

 

 

Docker Hub(Registry)

Docker CLI command๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์•ž์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ›๊ณ , ๋ฐ›์€ ์ด๋ฏธ์ง€๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฏธ์ง€๋Š” ๋ฌผ๋ก  ๋กœ์ปฌ์— ์žˆ๋Š” ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ... ๋กœ์ปฌ์— ์žˆ๋Š” ์ด๋ฏธ์ง€๋Š” ์–ด๋–ป๊ฒŒ ๋ฐ›์•„์˜ค๋Š” ๊ฒƒ์ผ๊นŒ์š”? ๋ฌผ๋ฆฌ์ ์ธ ํŒŒ์ผ์„ Docker CLI command๋กœ Loadํ•˜๋Š” ๊ฒƒ๋„ ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ•์ด์ง€๋งŒ... ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋ฐฐํฌํ•œ ์ด๋ฏธ์ง€๋ผ๋ฉด... ํŒŒ์ผ์„ ๋งค๋ฒˆ ๋‹ค์šด๋ฐ›์•„์„œ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ๋ฒˆ๊ฑฐ๋Ÿฌ์›€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ Registry๋ฅผ ์ง€์ •ํ•ด์„œ command๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋ฐ›์•„์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Docker ์ด๋ฏธ์ง€ ์ œ์–ดํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ์ด๋ฏธ์ง€ ๊ด€๋ฆฌ์†Œ๋‹ค.

 

Registry๋Š” ์™ธ๋ถ€์— ๊ณต๊ฐœ๋˜์ง€ ์•Š๊ณ  Privateํ•  ์ˆ˜๋„ ์žˆ๊ณ ... Docker Hub๋‚˜ Quay.io์™€ ๊ฐ™์€ Public Registry๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. Docker์—์„œ ์ œ๊ณตํ•˜๋Š” Registry๊ฐ€ Docker Hub์ด๊ณ  Docker๋ฅผ ์„ค์น˜ํ•  ๋•Œ ์„ค์ •๋˜๋Š” Default Registry์ด๋‹ค. ์ด๋ฏธ์ง€๋ฅผ pullํ•ด์„œ๋ฐ›์„ ๋•Œ ๊ธฐ๋ณธ Registry๋ฅผ ๊ผญ ์„ค์ •ํ•ด์•ผ ํ•ด๋‹น Registry์—์„œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Docker Hub๊ฐ€ Default Registry๋กœ ๋“ฑ๋ก๋˜์–ด ์žˆ์ง€๋งŒ... Private Registry์—์„œ ์ด๋ฏธ์ง€์˜ ์ „์ฒด URL ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ด์„œ ๋ฐ›์„ ์ˆ˜๋„ ์žˆ๊ณ  ๊ทธ ๋ฐ˜๋Œ€๋กœ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. Default Registry ์„ค์ •์€ ๋‹จ์ง€ URL ์ฃผ์†Œ๋ฅผ ์ œ์™ธํ•œ Repository๋ถ€ํ„ฐ ๊ฐ„๋žตํ•˜๊ฒŒ CLI command ์ž…๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์˜ˆ์‹œ)

  • docker pull registry.hub.docker.com/library/busybox:latest
  • docker pull busybox:latest

Default Registry๊ฐ€ Docker Hub์ธ ๊ฒฝ์šฐ ์œ„ ๋‘ ๋ช…๋ น์€ ๊ฐ™์€ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ›๋Š”๋‹ค.

Docker Hub์— ๋“ค์–ด๊ฐ€์„œ ๊ฒ€์ƒ‰ํ•ด๋ณด๋ฉด ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€๊ฐ€ ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜จ๋‹ค.
"Official Image" ํƒœ๊ทธ๊ฐ€ ๋ถ™์–ด ์žˆ๋Š” ์ด๋ฏธ์ง€๋“ค์€ ๊ณต์‹ ์ด๋ฏธ์ง€๋“ค์ด๊ณ  ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋“ค๋„ ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

Docker ์ด๋ฏธ์ง€ ์ œ์–ด ๋ช…๋ น

Docker ์ด๋ฏธ์ง€ ์ œ์–ด์— ๊ธฐ๋ณธ์ ์œผ๋กœ ์•Œ์•„์•ผํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ์ด๋ฏธ์ง€ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•
  • ์ด๋ฏธ์ง€ ์กฐํšŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ๋กœ์ปฌ
    • ์™ธ๋ถ€ Repository
    • ์ด๋ฏธ์ง€ ์„ธ๋ถ€ ์ •๋ณด
  • ์ด๋ฏธ์ง€ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์ด๋ฏธ์ง€ ํƒœ๊น…

์ œ์–ด์— ํ•„์š”ํ•œ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ๋“ค์ด ๋งŽ์ง€๋งŒ... ์ด๋ฏธ์ง€๋ฅผ ์นœ์ˆ™ํ•˜๊ฒŒ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์ผ๋‹จ ๊ธฐ๋ณธ์ ์ธ ๋‚ด์šฉ์„ ์•„๋ž˜์—์„œ ๋‹ค๋ฃฌ๋‹ค.

 

 

Docker ์ด๋ฏธ์ง€ ๋ฐ›๊ธฐ

docker pull

 

"docker pull" ๋ช…๋ น์€ Registry๋กœ๋ถ€ํ„ฐ ์ด๋ฏธ์ง€๋ฅผ ๋กœ์ปฌ๋กœ ๋ฐ›๋Š” ๋ช…๋ น์ด๋‹ค.

$ docker pull centos:8

or

$ docker image pull centos:8
  • NAME[:TAG|@DIGEST] ํ˜•ํƒœ๋กœ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
    • ์—ฌ๊ธฐ์„œ ํƒœ๊ทธ๋Š” ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ์ถ”์ ์„ ์œ„ํ•œ ๋ฒ„์ „์ด๋‹ค.
    • Tag๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „์ธ latest ํƒœ๊ทธ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ›๋Š”๋‹ค.
    • latest๋กœ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ํŠน์ • ๋ฒ„์ „์œผ๋กœ ๋˜์–ด ์žˆ๋Š” ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.

 

 

-a ์˜ต์…˜

$ docker pull -a centos
  • "-a" ํ˜น์€ "--all-tags" ์˜ต์…˜์€ Repository์˜ ์ „์ฒด ํƒœ๊ทธ๋œ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ›๋Š”๋‹ค.
    • ์œ„ ์˜ˆ์‹œ์˜ ๊ฒฝ์šฐ centos Repository์˜ ์ „์ฒด ํƒœ๊ทธ๋ฅผ ๋ฐ›๋Š”๋‹ค.

 

 

 

Docker ์ด๋ฏธ์ง€ ์กฐํšŒ

docker images

๋กœ์ปฌ์— ์žˆ๋Š” ์ด๋ฏธ์ง€๋“ค์˜ ๋ชฉ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์ด๋‹ค.

$ docker images

or

$ docker image ls

 

 

--digests ์˜ต์…˜

digest๋Š” ์ด๋ฏธ์ง€๋ฅผ ํ•ด์‹œํ•จ์ˆ˜์— ๋Œ๋ ค์„œ ์–ป์€ ํ•ด์‹œ ๊ฐ’์ž…๋‹ˆ๋‹ค. Docker ์ด๋ฏธ์ง€ ์ œ์–ด๋ฅผ ์ง์ ‘์ ์œผ๋กœ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๊ณ ... ๋‚ด๋ถ€์ ์œผ๋กœ ์ด๋ฏธ์ง€ ์ž์ฒด์— ๋Œ€ํ•œ ๋ณ€์กฐ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๊ธฐ ์œ„ํ•ด digest ๊ฐ’์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
ํ•ด์‹œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ [CS/๋ณด์•ˆ] - Hash ๋‹จ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๊ธฐ๋ฒ• ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

$ docker images --digests

  • diest์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ํƒœ๊ทธ๊ฐ€ ๋‹ค๋ฅด๋”๋ผ๋„ ๊ฐ™์€ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด์„œ๋Š” ๊ฐ™์€ digest๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    • Docker ์ด๋ฏธ์ง€ ์ œ์–ด(pull, push or Dockerfile FROM ์ ˆ)ํ•˜๋Š”๋ฐ digest๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

--format ์˜ต์…˜

format ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ด๋ฏธ์ง€ ๋ชฉ๋ก์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๊ณ  ์•„๋ž˜์™€ ๊ฐ™์€ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ID
  • Repository
  • Tag
  • Digest
  • CreateSince
  • CreatedAt
  • Size

 

$ docker images --format "{{.ID}}: {{.Repository}} - {{.Tag}}"

 

  • ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฐœ๋ฐœ์— ํŠน์ • ํ˜•ํƒœ๋กœ ์ด๋ฏธ์ง€ ๋ชฉ๋ก ์ถœ๋ ฅ์ด ํ•„์š”ํ•  ๋•Œ ํ•ด๋‹น ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

-q ์˜ต์…˜

$ docker images -q

 

  • ์ด๋ฏธ์ง€ ID๋งŒ ์ถœ๋ ฅํ•œ๋‹ค.
  • ์ด๋ฏธ์ง€ ์ „์ฒด๋ฅผ ์‚ญ์ œํ•  ๋•Œ ํ•ด๋‹น ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
    • docker rmi $(docker images -q)

 

 

docker search

Registry์— ์กด์žฌํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ช…๋ น์ด๋‹ค.

 

$ docker search ubuntu




docker inspect

์ด๋ฏธ์ง€์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

$ docker inspect centos:8
  • ์ด๋ฏธ์ง€์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • JSON ํ˜•ํƒœ๋กœ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

Docker ์ด๋ฏธ์ง€ ์‚ญ์ œ

docker rmi

์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์ด๋‹ค.

 

$ docker rmi centos:8

or

$ docker image rm centos:8
  • ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜์—ดํ•ด์„œ ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€๋ฅผ ๋™์‹œ์— ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค
  • ์ด๋ฏธ์ง€์˜ ID๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

--force ์˜ต์…˜

์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ์„ฑ๋œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์žˆ์œผ๋ฉด ์ด๋ฏธ์ง€ ์‚ญ์ œ๊ฐ€ ์•ˆ๋œ๋‹ค. ์ƒ์„ฑํ•œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์žˆ๋”๋ผ๋„ ๊ฐ•์ œ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œํ•˜๊ธฐ ์œ„ํ•ด ํ•ด๋‹น ์˜ต์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

$ docker rmi centos:8 --force
  • ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰์ค‘์ธ ์ƒํƒœ์—์„œ ์‚ญ์ œ๊ฐ€ ์•ˆ๋œ๋‹ค.
    • ์ƒ์„ฑ๋˜์–ด ์žˆ์œผ๋‚˜ ์ข…๋ฃŒ๋œ ์ปจํ…Œ์ด๋„ˆ๋Š” ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

Docker ํƒœ๊น…

docker tag

Docker ์ด๋ฏธ์ง€ ์ œ์–ด์— ์žˆ์–ด ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ... ๊ฐ™์€ ์ด๋ฏธ์ง€๋”๋ผ๋„ ๋‹ค๋ฅด๊ฒŒ ํƒœ๊น…ํ•ด์„œ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ(centos:8, centos:8.1, latest ๋“ฑ)๋„ ๋งŽ๋‹ค. ์ฃผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์ „์— ์ด๋ฏธ์ง€๋ฅผ ํƒœ๊น…ํ•˜๋Š” ์ž‘์—…์„ ํ•œ๋‹ค.

 

$ docker tag centos:8 test:1

or

$ docker image tag centos:8 test:1

  • docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
  • ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด latest๋กœ ํƒœ๊น…๋œ๋‹ค.

 

 

๋งˆ๋ฌด๋ฆฌ

Docker ์ด๋ฏธ์ง€ ์ œ์–ดํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ๋ฐฐํฌ, ํ•„ํ„ฐ๋ง, ์ด๋ฏธ์ง€ ์•„์นด์ด๋น™ ๋“ฑ ์•„์ง ๋‹ค๋ฃจ์ง€ ์•Š์€ ๋‚ด์šฉ๋„ ๋งŽ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Docker ์ด๋ฏธ์ง€ ์ œ์–ดํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ•๋“ค์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ดค๊ณ  ์•ž์œผ๋กœ์˜ ๋‹ค๋ฅธ ๊ธ€๋“ค์—์„œ ์•„์ง ๋‹ค๋ฃจ์ง€ ๋ชปํ•œ Docker ์ด๋ฏธ์ง€ ์ œ์–ด ๊ธฐ๋Šฅ๋“ค์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€