๐ŸณDocker ๋‹ค๋ฃจ๊ธฐ3: apache, ์›น์„œ๋ฒ„์— ๋‚˜๋งŒ์˜ ์›นํŽ˜์ด์ง€ ๋„์šฐ๊ธฐ/๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ/์ค‘์ง€ ํ•œ ๋ฒˆ์—!

Aprilยท2022๋…„ 11์›” 3์ผ
1

๐ŸŒฑserver

๋ชฉ๋ก ๋ณด๊ธฐ
11/18
post-thumbnail

docker run ์ฃผ์š” ์˜ต์…˜

์˜ต์…˜์„ค๋ช…
-i์ปจํ…Œ์ด๋„ˆ ์ž…๋ ฅ(STDIN)์„ ์—ด์–ด๋†“๋Š” ์˜ต์…˜. (์ฃผ๋กœ -it๋กœ -i์˜ต์…˜๊ณผ -t์˜ต์…˜์„ ํ•จ๊ป˜ ์‚ฌ์šฉ)
-t๊ฐ€์ƒ ํ„ฐ๋ฏธ๋„(tty)์„ ํ• ๋‹นํ•˜๋Š” ์˜ต์…˜. (์ฃผ๋กœ -it๋กœ -i์˜ต์…˜๊ณผ -t์˜ต์…˜์„ ํ•จ๊ป˜ ์‚ฌ์šฉ)
--name์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„์„ ์„ค์ •ํ•˜๋Š” ์˜ต์…˜
-d์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ํ•˜๋Š” ์˜ต์…˜
--rm์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ์‹œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ž๋™์œผ๋กœ ์‚ญ์ œํ•˜๋Š” ์˜ต์…˜
-pํ˜ธ์ŠคํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ ํฌํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์˜ต์…˜
-vํ˜ธ์ŠคํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์˜ต์…˜

์›น์„œ๋ฒ„๋กœ docker run ์˜ต์…˜ ํ…Œ์ŠคํŠธํ•˜๊ธฐ

  • ์›น์„œ๋ฒ„๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ํ”„๋กœ๊ทธ๋žจ์ด ๋งŽ์ด ์‚ฌ์šฉ๋จ
    • apache
    • nginx

apache ์›น์„œ๋ฒ„ ๊ณต์‹ docker ์ฐพ๊ธฐ

  • ๊ฐ docker๋งˆ๋‹ค ๊ณต์‹ ์ด๋ฆ„์ด ํ”„๋กœ๊ทธ๋žจ๋ช…๊ณผ ๋™์ผํ•œ ๊ฒฝ์šฐ๊ฐ€ ์ผ๋ฐ˜์ ์ด์ง€๋งŒ, apache๋Š” httpd ์ด๋ฆ„์„ ์‚ฌ์šฉ

docker search httpd

// ๋„ˆ๋ฌด ๊ธธ๋ฉด --limit ์˜ต์…˜ ์‚ฌ์šฉ
docker search httpd --limit=5

docker run ๋‹ค์šด(pull)๋ฐ›๊ณ  ์ƒ์„ฑ(create)ํ•˜๊ณ  ์‹คํ–‰๊นŒ์ง€ ํ•œ ๋ฒˆ์—!!

docker run httpd
// ์ž…์ถœ๋ ฅ์ด ๋ถˆ๊ฐ€ํ•œ ์ƒํƒœ.. ์ด๋ฏ€๋กœ.. ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰..

docker run -d ๋‹ค์šด(pull)๋ฐ›๊ณ  ์ƒ์„ฑ(create)ํ•˜๊ณ  ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๊นŒ์ง€ ํ•œ ๋ฒˆ์—!!

docker run -d --name apacheweb httpd
// ํ•˜์ง€๋งŒ.. ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ๋กœ์˜ ์ ‘์†์€ ๋ถˆ๊ฐ€ํ•œ ์ƒํƒœ์ด๋ฏ€๋กœ.. -p ์˜ต์…˜์œผ๋กœ port๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ธฐ

docker run -d -p ๋‹ค์šด(pull)๋ฐ›๊ณ  ์ƒ์„ฑ(create)ํ•˜๊ณ  port์ƒ์„ฑํ•ด์„œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๊นŒ์ง€ ํ•œ ๋ฒˆ์—!!

  • ํ•ด๋‹น ์›น์„œ๋ฒ„์— ์–ด๋–ป๊ฒŒ ์ ‘์†ํ• ์ง€ ์•Œ ์ˆ˜ ์—†๊ธฐ์—,
    • ํฌํŠธ ํฌ์›Œ๋”ฉ์ด ํ•„์š”..
    • docker๋ฅผ ์‹คํ–‰ํ•œ pc๋ฅผ host pc๋ผ๊ณ  ํ•จ
    • docker ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋˜๋ฉด, 172.17.0.0/16์ธ private IP๊ฐ€ ํ• ๋‹น๋˜๋Š”๋ฐ
    • ํ˜ธ์ŠคํŠธPC์— ํŠน์ • port๋กœ access์‹œ, ํ•ด๋‹น port๋ฅผ docker ์ปจํ…Œ์ด๋„ˆ์˜ ํŠน์ • private IP์˜ ํŠน์ • port๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Œ
      • ์ด๋ฅผ docker๊ฐ€ ์ œ๊ณตํ•˜๋Š” NAPT(Network Address Port Tranlation)๊ธฐ์ˆ ์ด๋ผ๊ณ  ํ•จ
    • ์œ„ ๋‚ด์šฉ์„ ์ง€์›ํ•ด์ฃผ๋Š” ์˜ต์…˜์ด -p

โ—๏ธ ์ฆ‰, apacheweb ์ปจํ…Œ์ด๋„ˆ๋Š” apache ์›น์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ณ , ํ˜ธ์ŠคํŠธPC(EC2)์— 9999 ํฌํŠธ๋กœ ์ ‘์†ํ•˜๋ฉด, ์ž๋™์œผ๋กœ ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ 80 ํฌํŠธ์— ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๊ฒ ๋‹ค๋Š” ์˜๋ฏธ

docker run -d -p 9999:80 --name apacheweb httpd
// ํ•˜์ง€๋งŒ.. ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ๋กœ์˜ ์ ‘์†์€ ๋ถˆ๊ฐ€ํ•œ ์ƒํƒœ์ด๋ฏ€๋กœ.. -p ์˜ต์…˜์œผ๋กœ port๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ธฐ

EC2 ์ธ์Šคํ„ด์Šค์— 9999 port ์ถ”๊ฐ€ํ•˜๊ธฐ

9999 port ์ถ”๊ฐ€

  • ์ฝ˜์†” > ์ธ์Šคํ„ด์Šค > ๋ณด์•ˆ ๊ทธ๋ฃน ์ด๋ฆ„ > ํ•˜๋‹จ ๋ณด์•ˆ ๊ทธ๋ฃน(ํŒŒ๋ž€๊ธ€์”จ) ํด๋ฆญ > ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ํŽธ์ง‘ > ๊ทœ์น™ ์ถ”๊ฐ€

EC2 ์„œ๋ฒ„์— ์ ‘์†ํ•ด์„œ ํ™•์ธ

  • It works๋Š” httpd ์ด๋ฏธ์ง€์˜ apache ์›น์„œ๋ฒ„ ๊ธฐ๋ณธ ์„ค์ •์— ์˜ํ•ด /usr/local/apache2/htdocs ํด๋”์— ์žˆ๋Š” index.html์— ์ ํ˜€์žˆ๋Š” ๋‚ด์šฉ.
  • ํ•ด๋‹น ํด๋”๋ฅผ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” index.html ํŒŒ์ผ๋กœ ๊ต์ฒดํ•œ๋‹ค๋ฉด, ๋‚˜๋งŒ์˜ ์›นํŽ˜์ด์ง€๋ฅผ ๋…ธ์ถœ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ
  • ํ˜ธ์ŠคํŠธPC์— ๋‚˜๋งŒ์˜ index.html ํŒŒ์ผ์ด ์žˆ๋‹ค๋ฉด,
    • -v ์˜ต์…˜์„ ์‚ฌ์šฉํ•ด์„œ ํ˜ธ์ŠคํŠธPC์˜ ํŠน์ • ํด๋”๋ฅผ, docker ์ปจํ…Œ์ด๋„ˆ์˜ ํŠน์ • ํด๋”๋กœ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์Œ



๋‚˜๋งŒ์˜ ์›น์„œ๋น„์Šค docker ๋งŒ๋“ค๊ธฐ(-v ์˜ต์…˜ ์ดํ•ดํ•˜๊ธฐ)

ํ˜ธ์ŠคํŠธPC์— ์žˆ๋Š” ํŠน์ • ํด๋”๋ฅผ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์œผ๋กœ ์—ฐ๊ฒฐ
์˜ˆ๋ฅผ ๋“ค์–ด, ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ์žˆ๋˜ ๋ฐ์ดํ„ฐ๋Š” ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒ ์‹œ ์‚ฌ๋ผ์ง..
์ค‘์š” ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ๋ผ์ง€๋ฉด ์•ˆ๋˜๊ธฐ์— ํŠน์ • ํด๋”์—์„œ ๊ด€๋ฆฌํ•˜๊ณ , ํ•ด๋‹น ํด๋”๋ฅผ ์ปจํ…Œ์ด๋„ˆ์™€ ์—ฐ๊ฒฐ์‹œํ‚ค๋Š” ๊ฒƒ.

// -v ์˜ต์…˜๋งŒ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑ
 docker run -v ํ˜ธ์ŠคํŠธPC์˜ ์ ˆ๋Œ€๊ฒฝ๋กœ:๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์ ˆ๋Œ€ ๊ฒฝ๋กœ httpd

// ๋‹ค๋ฅธ ์˜ต์…˜๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ ์‹ค์ œ ์˜ˆ
 docker run -d -p 9999:80 -v /home/ubuntu/easy-work-app/dist:/usr/local/apache2/htdocs --name apacheweb httpd

์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•ด์„œ ์ž…๋ ฅํ•ด์•ผ ํ•จ. ์ ˆ๋Œ€ ๊ฒฝ๋กœ์— ํ•œ๊ธ€์ด๋‚˜ ๋„์–ด์“ฐ๊ธฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์–ด์•ผ ํ•จ

์ฐธ๊ณ : ์ ˆ๋Œ€ ๊ฒฝ๋กœ ํ™•์ธํ•˜๊ธฐ pwd

๋ณ€๊ฒฝํ•˜๊ณ ์ž ํ•˜๋Š” index.html ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•จ

pwd
// ์ ˆ๋Œ€ ๊ฒฝ๋กœ ์ถœ๋ ฅ ๋จ


๊ฒฐ๊ณผ: ์›น์„œ๋ฒ„์— ๋‚˜๋งŒ์˜ ์›นํŽ˜์ด์ง€ ๋„์šฐ๊ธฐ


ํฌํŠธ ๋ณ€๊ฒฝํ•ด๋ณด๊ธฐ

EC2์— 80๋ฒˆ ํฌํŠธ ์ถ”๊ฐ€ํ•ด๋†“๊ณ  ์‹œ์ž‘!

1. ๊ธฐ์กด ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ์ข…๋ฃŒํ•˜๊ณ  ์‚ญ์ œ

docker stop apacheweb
docker rm apacheweb

2. ํฌํŠธ๋ฒˆํ˜ธ ๋ณ€๊ฒฝํ•ด์„œ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰

docker run -d -p 80:80 -v /home/ubuntu/easy-work-app/dist:/usr/local/apache2/htdocs --name apacheweb httpd

๊ธฐ์กด 9999๋ฒˆ ํฌํŠธ๋Š” ์ฐพ์„์ˆ˜ ์—†๋‹ค ํ™•์ธ๋˜๊ณ  ๊ธฐ๋ณธํฌํŠธ์ธ 80๋ฒˆ์„ ์ƒ๋žตํ•ด์„œ ์ ‘์†ํ•ด๋ณด๋ฉด ํฌํŠธ ๋ณ€๊ฒฝ๋จ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค



โญ๏ธ ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ/์ค‘์ง€ ํ•œ ๋ฒˆ์—!!

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

โญ๏ธ ๋ชจ๋“  ์ด๋ฏธ์ง€ ์‚ญ์ œ ํ•œ ๋ฒˆ์—!!

docker rmi $(docker images -q)

โญ๏ธ ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ/์ด๋ฏธ์ง€ ์ค‘์ง€/์‚ญ์ œ ํ•œ ๋ฒˆ์—!!

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rmi -f $(docker images -q)

# ์“ฐ์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€, ๋ณผ๋ฅจ, ๋„คํŠธ์›Œํฌ ์‚ญ์ œ
docker system prune -a --volumes

๊ทธ ์™ธ ๋ช…๋ น..

// ์ •์ง€๋œ ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ
docker container prune

// ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์™ธ์˜ ์ด๋ฏธ์ง€ ์‚ญ์ œ
docker image prune

// ์ •์ง€๋œ ์ปจํ…Œ์ด๋„ˆ, ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์™ธ์˜ ์ด๋ฏธ์ง€, ๋ณผ๋ฅจ, ๋„คํŠธ์›Œํฌ ์‚ญ์ œ
docker system prune



profile
๐Ÿš€ ๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ์“ฐ๋Š” ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

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

comment-user-thumbnail
2023๋…„ 1์›” 21์ผ

์•ˆ๋…•ํ•˜์„ธ์š” ์šด์˜์ž๋‹˜
์ธ์นดํ† ์Šค์ž…๋‹ˆ๋‹ค.
๋จผ์ €, ๋Œ“๊ธ€๋กœ ์ธ์‚ฌ๋ฅผ ๋“œ๋ฆฌ๊ฒŒ ๋œ ์  ์–‘ํ•ด ๋ถ€ํƒ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ์—ฐ๋ฝ ๋“œ๋ฆฐ ์ด์œ ๋Š” ์ด๋ฒˆ์— ์ €ํฌ๊ฐ€ ์ œ์ž‘ํ•œ ๋„์ปค ๊ฐํ‹ฐ์Šˆ์ผ€์ด์Šค ์ œํ’ˆ ํ˜‘์ฐฌ์„ ์ œ์•ˆ๋“œ๋ฆฌ๊ณ  ์‹ถ์–ด์„œ ์—ฐ๋ฝ ๋“œ๋ ธ์Šต๋‹ˆ๋‹ค.
๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๋งŽ์€ ์‚ฌ๋ž‘์€ ๋ฐ›์€ ๊ฐํ‹ฐ์Šˆ์ผ€์ด์Šค์ž…๋‹ˆ๋‹ค.
์ €ํฌ ์ƒํ’ˆ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…์ด ๊ฐ€๋Šฅํ•˜์‹ค์ง€ ์—ฌ์ญ™๊ณ ์ž ์—ฐ๋ฝ๋“œ๋ ธ์Šต๋‹ˆ๋‹ค.
์•„๋‹ˆ๋ฉด ํด๋ฆฌ์•™,์„œ๋ฒ„ํฌ๋Ÿผ, okky,2cpu,๊ทธ๋ˆ„๋ณด๋“œ ๋“ฑ ๊ฐ€์ž…๋˜์–ด ์žˆ์œผ์‹  ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์žˆ์œผ์‹œ๋‹ค๋ฉด ํ•ด๋‹น ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์•„๋ž˜์™€ ๋น„์Šทํ•˜๊ฒŒ ๊ฒŒ์‹œ๊ธ€์„ ์˜ฌ๋ ค์ฃผ์‹ค์ˆ˜ ์žˆ์„๊นŒ์š”?

ํด๋ฆฌ์•™ : https://www.clien.net/service/board/park/17797443

์—ฐ๋ฝ๋“œ๋ฆด์ˆ˜ ์žˆ๋Š”๋ฐฉ๋ฒ•์ด ๋Œ“๊ธ€๋ฐ–์— ๋ณด์ด์ง€ ์•Š์•„ ์ด๋ ‡๊ฒŒ ๋จผ์ € ์—ฐ๋ฝ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

ํ˜‘์ฐฌ์ œ์•ˆ์— ๊ธ์ •์ ์ธ ๊ฒ€ํ†  ๋ถ€ํƒ๋“œ๋ฆฌ๊ณ  ์ œ์•ˆ์ด ๋งˆ์Œ์— ๋“œ์‹ ๋‹ค๋ฉด ํ•˜๊ธฐ ๋ฉ”์ผ๋กœ ๋ฉ”์ผ์ฃผ์‹œ๋ฉด ์ œํ’ˆ ๋ณด๋‚ด๋“œ๋ฆฌ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

sungjh0726@naver.com

ํ˜‘์ฐฌ์ œํ’ˆ ๋งํฌ : https://incatos.shop/surl/P/11

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ