Docker ๐Ÿ‹

Bloooooooooooooog..ยท2023๋…„ 5์›” 23์ผ
0

Docker ๐Ÿ‹

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœ/๋ฐฐํฌ/์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ”Œ๋žซํผ. ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ์ง€์› ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ฐœ๋ฐœ
  • ๋ฆฌ๋ˆ…์Šค ์ž์ฒด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด์„œ ํ”„๋กœ์„ธ์Šค ๋‹จ์œ„์˜ ๊ฒฉ๋ฆฌ ํ™˜๊ฒฝ ์ œ๊ณต
  • ๋ฐฐํฌ ์šฉ๋Ÿ‰๊ณผ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ณ  ์„ฑ๋Šฅ ์†์‹ค์„ ์ตœ์†Œํ™”

Docker์˜ ๊ตฌ์กฐ ๐Ÿ 

1. ๋„์ปค ์—”์ง„

์™ธ๋ถ€์—์„œ Docker API ์š”์ฒญ์„ ๋ฐ›์•„์„œ Docker ๊ฐ์ฒด์™€ ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌ. ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌํ•˜๋Š” ์ฃผ์ฒด

2. ๋„์ปค ๋ฐ๋ชฌ

๋„์ปค ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜์–ด ์ž…๋ ฅ์„ ๋ฐ›์„ ์ค€๋น„๊ฐ€ ๋œ ์ƒํƒœ

3. ๋„์ปค ํด๋ผ์ด์–ธํŠธ

์ž…๋ ฅ๋œ ๋ช…๋ น์–ด๋ฅผ Docker API ํ˜•ํƒœ๋กœ ๋„์ปค ๋ฐ๋ชฌ์— ์ „๋‹ฌ. ์—”์ง„ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ถœ๋ ฅ

4. ๋„์ปค ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ

Docker์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ณต์œ ํ•˜๋Š” ์›๊ฒฉ ์ €์žฅ์†Œ

Docker ์ด๋ฏธ์ง€ ๊ด€๋ฆฌ

Docker ์ด๋ฏธ์ง€

  • ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ๊ธฐ ์ „์šฉ ํŒŒ์ผ
  • ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ๋Š” ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค.
  • ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰์— ํ•„์š”ํ•œ ํŒŒ์ผ๊ณผ ์„ค์ • ๊ฐ’ ๋“ฑ์„ ํฌํ•จ

Docker ์ด๋ฏธ์ง€์™€ ์ปจํ…Œ์ด๋„ˆ

์ปจํ…Œ์ด๋„ˆ๋Š” ํ•„์š”ํ•œ ํŒŒ์ผ๊ณผ ์„ค์ •์„ ์ด๋ฏธ์ง€์—์„œ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ๊ฐ€์ ธ๋‹ค ์‚ฌ์šฉํ•˜๊ณ , ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ๋งŒ ์ปจํ…Œ์ด๋„ˆ ๊ณ„์ธต์— ๋ณ„๋„ ์ €์žฅ

Docker Hub

๋„์ปค์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ์ค‘์•™ ์ด๋ฏธ์ง€ ์ €์žฅ์†Œ์ด๋‹ค. ๋„์ปค ๊ณ„์ •์œผ๋กœ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ/๋‹ค์šด๋กœ๋“œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋„์ปค ์ด๋ฏธ์ง€ ์‚ฌ์šฉ

1. ๋„์ปค ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰

docker ํ—ˆ๋ธŒ๋ฅผ ์ด์šฉํ•˜๊ฑฐ๋‚˜ ์—”์ง„์—์„œ ๋ช…๋ น์–ด๋กœ ๊ฒ€์ƒ‰

docker search <ํ‚ค์›Œ๋“œ>

2. ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ

docker pull [์ €์žฅ์†Œ์ด๋ฆ„/]<์ด๋ฏธ์ง€ ์ด๋ฆ„>[:ํƒœ๊ทธ]

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

docker images
๋ชจ๋“  ์ด๋ฏธ์ง€ ์กฐํšŒ

docker image inspect <IMAGE ID>
์ด๋ฏธ์ง€ ๊ณ ์œ ์˜ ID๋กœ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ

4. ์ด๋ฏธ์ง€ ์ถ”์ถœ ๋ฐ ๋กœ๋“œ

docker save -o <ํŒŒ์ผ๋ช…> <์ด๋ฏธ์ง€๋ช…>[:ํƒœ๊ทธ]
-o ์˜ต์…˜ : ์ถ”์ถœ๋  ํŒŒ์ผ๋ช…์„ ์ง€์ •
ex) docker save -o d:\\tomcat_image tomcat:8.5


docker load -i <ํŒŒ์ผ๋ช…>
-i ์˜ต์…˜ : ๋กœ๋“œํ•  ํŒŒ์ผ๋ช…์„ ์ง€์ •

5. ์ด๋ฏธ์ง€์— ์ด๋ฆ„ ์ถ”๊ฐ€

docker tag [๊ธฐ์กด์ €์žฅ์†Œ/]<๊ธฐ์กด์ด๋ฏธ์ง€๋ช…>[:๊ธฐ์กดํƒœ๊ทธ]
[์ƒˆ๋กœ์šด์ €์žฅ์†Œ/]<์ƒˆ๋กœ์šด์ด๋ฏธ์ง€๋ช…>[:์ƒˆ๋กœ์šดํƒœ๊ทธ]

6. ๋„์ปค ์ด๋ฏธ์ง€ ์‚ญ์ œ

docker rmi <์ด๋ฏธ์ง€์ด๋ฆ„:ํƒœ๊ทธ or IMAGE ID>

๋„์ปค ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ

๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋Š” ์ด๋ฏธ์ง€ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ธ์Šคํ„ด์Šค
๊ฐœ๋ณ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰์— ํ•„์š”ํ•œ ์‹คํ–‰ํ™˜๊ฒฝ์„ ๋…๋ฆฝ์ ์œผ๋กœ ์šด์šฉํ•œ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ

docker run [์˜ต์…˜][์ €์žฅ์†Œ์ด๋ฆ„/]<์ด๋ฏธ์ง€์ด๋ฆ„>[:๋ฒ„์ „]
๋‹ค์šด๋ฐ›์€ ์ด๋ฏธ์ง€๊ฐ€ ์—†์œผ๋ฉด ์ž๋™์œผ๋กœ ๋‹ค์šด๋ฐ›์•„ ์‹คํ–‰๊นŒ์ง€ ๋œ๋‹ค.

์˜ต์…˜
-d : ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰
-i -t : ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€๋กœ ์ง„์ž…ํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ์™€ ์ƒํ˜ธ ์ž…์ถœ๋ ฅ
--name : ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ์ง€์ •
-p <ํ˜ธ์ŠคํŠธport>:<์ปจํ…Œ์ด๋„ˆport> : ์™ธ๋ถ€์—์„œ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ˜ธ์ŠคํŠธ pc์˜ ํฌํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ ํฌํŠธ ์—ฐ๊ฒฐ
-e<ํ™˜๊ฒฝ๋ณ€์ˆ˜>=<๊ฐ’> : ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •
--link : ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ์— ๋งํฌ ์ถ”๊ฐ€

EX)
docker run -d --name myweb -p 80:8080 tomcat:8.5.72-jdk8

์ปจํ…Œ์ด๋„ˆ ์ƒ์„ธ ๋‚ด์šฉ ์กฐํšŒ

docker inspect <์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ or ID>

์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰/ ์ข…๋ฃŒ/ ์žฌ์‹œ์ž‘

docker start/stop/restart <์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ or ID>

์ปจํ…Œ์ด๋„ˆ๋กœ ํŒŒ์ผ ๋ณต์‚ฌ

docker cp [์˜ต์…˜] <์›๋ณธํŒŒ์ผ๊ฒฝ๋กœ> <๋ณต์‚ฌํ• ๊ฒฝ๋กœ>
๊ฒฝ๋กœ๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์ผ ๊ฒฝ์šฐ <์ปจํ…Œ์ด๋„ˆ๋ช…:๊ฒฝ๋กœ> ๋กœ ์ง€์ •

์ปจํ…Œ์ด๋„ˆ ์ ‘์†

docker exec [์˜ต์…˜] <์ปจํ…Œ์ด๋„ˆ์ด๋ฆ„ or ID> <๋ช…๋ น์–ด>
์‰˜์„ ์‹คํ–‰ํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ์— ์ ‘๊ทผ ๊ฐ€๋Šฅ
์‰˜ ์ ‘๊ทผ ํ›„ ๋‹ค์–‘ํ•œ ๋ช…๋ น์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ(์ข…๋ฃŒ ์‹œ exit)

์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ

docker rm [์˜ต์…˜] <์ปจํ…Œ์ด๋„ˆ์ด๋ฆ„ or ID> [์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ or ID โ€ฆ]
profile
๊ณต๋ถ€์™€ ์ผ์ƒ

0๊ฐœ์˜ ๋Œ“๊ธ€