๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋„์ปค

[๋„์ปค] 2์ฃผ์ฐจ ๋‚ด์šฉ์ •๋ฆฌ_1

by ์ ผ์ ผ39 2025. 10. 4.

1. ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์™ธ๋ถ€์— ๋…ธ์ถœ

- ์ปจํ…Œ์ด๋„ˆ๋Š” ๊ฐ€์ƒ IP์ฃผ์†Œ๋ฅผ ํ• ๋‹น๋ฐ›์Œ

- ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ์ดํ›„ ifconfig ๋ช…๋ น์–ด๋กœ ์ปจํ…Œ์ด๋„ˆ์˜ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ํ™•์ธ ๊ฐ€๋Šฅ

- ๋„์ปค์˜ NAT IP๋ฅผ ํ• ๋‹น๋ฐ›์€ eth0 ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์ธ lo ์ธํ„ฐํŽ˜์ด์Šค ํ™•์ธ ๊ฐ€๋Šฅ

-- ๋”ฐ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๋ถˆ๊ฐ€๋Šฅ (๋„์ปค๊ฐ€ ์„ค์น˜๋œ ํ˜ธ์ŠคํŠธ์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•จ)

--> ์™ธ๋ถ€์— ๋…ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” eth0์˜ IP, ํฌํŠธ๋ฅผ ํ˜ธ์ŠคํŠธ์˜ IP, ํฌํŠธ์— ๋ฐ”์ธ๋”ฉํ•ด์•ผ ํ•จ

docker run -i -t --name mywebserver -p 80:80 ubuntu:14.04

 

-p ์˜ต์…˜ : ์ปจํ…Œ์ด๋„ˆ์˜ ํฌํŠธ๋ฅผ ํ˜ธ์ŠคํŠธ์˜ ํฌํŠธ์™€ ๋ฐ”์ธ๋”ฉํ•ด ์—ฐ๊ฒฐํ•˜๋Š” ์˜ต์…˜

[ํ˜ธ์ŠคํŠธ์˜ ํฌํŠธ] : [์ปจํ…Œ์ด๋„ˆ์˜ ํฌํŠธ]

 

์ปจํ…Œ์ด๋„ˆ์— ์ง„์ž… ํ›„,

apt-get update
apt-get install apache2 -y
service apache2 start

์•„ํŒŒ์น˜ ์›น ์„œ๋ฒ„ ์„ค์น˜, ์‹คํ–‰ ์ดํ›„ [๋„์ปค ์—”์ง„ ํ˜ธ์ŠคํŠธ์˜ IP]:80์œผ๋กœ ์ ‘๊ทผ

http://localhost:80

 

ํ˜ธ์ŠคํŠธ IP์˜ 80๋ฒˆ ํฌํŠธ๋กœ ์ ‘๊ทผ -> 80๋ฒˆ ํฌํŠธ๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ 80๋ฒˆ ํฌํŠธ๋กœ ํฌ์›Œ๋”ฉ -> ์›น ์„œ๋ฒ„ ์ ‘๊ทผ

 

2. ์ปจํ…Œ์ด๋„ˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ถ•

- ๋Œ€๋ถ€๋ถ„์˜ ์„œ๋น„์Šค๋Š” ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ๋‚˜ DB์— ์—ฐ๊ฒฐ๋˜์–ด ๋„์•šใ„ฑํ•จ

- ๊ทธ๋Ÿฐ ์„œ๋น„์Šค๋ฅผ ์ปจํ…Œ์ด๋„ˆํ™”ํ•  ๋•Œ์—๋Š”

-- ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ์— ์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค์น˜
-- ๊ฐ ์ปจํ…Œ์ด๋„ˆ ๋ณ„๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ•˜๋‚˜์”ฉ ์„ค์น˜ <- ๋„์ปค ์ด๋ฏธ์ง€ ๊ด€๋ฆฌ ๋ฐ ๋…๋ฆฝ์„ฑ ์œ ์ง€์— ์šฉ์ดํ•จ
--- ํ•œ ์ปจํ…Œ์ด๋„ˆ์— ํ”„๋กœ์„ธ์Šค ํ•˜๋‚˜๋งŒ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋„์ปค์˜ ์ฒ ํ•™์ž„ (<- ๋ญ”๋ง์ž„ @@)

All-in-one ์ปจํ…Œ์ด๋„ˆ ๋ถ„๋ฆฌ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํ…Œ์ด๋„ˆ
DB & Web Server  DB // Web Server 

 

1) ๋ธ”๋กœ๊ทธ ์„œ๋น„์Šค ๋งŒ๋“ค์–ด๋ณด๊ธฐ (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์›Œ๋“œํ”„๋ ˆ์Šค ์›น ์„œ๋ฒ„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์—ฐ๋™, ์›Œ๋“œํ”„๋ ˆ์Šค ๊ธฐ๋ฐ˜ ๋ธ”๋กœ๊ทธ ์„œ๋น„์Šค ๋งŒ๋“ค๊ธฐ)

(1) mysql ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ

# \์—†์ด ํ•œ์ค„๋กœ ์ž…๋ ฅํ•ด๋„ ๋จ
docker run -d \
--name wordpressdb \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_DATABASE=wordpress \
mysql:8.0

(2) ๋ฏธ๋ฆฌ ์ค€๋น„๋œ ์›Œ๋“œํ”„๋ ˆ์Šค ์ด๋ฏธ์ง€๋ฅผ ์ด์šฉํ•ด ์›Œ๋“œํ”„๋ ˆ์Šค ์›น ์„œ๋ฒ„ ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ

# ๊ธฐ์กด ์ƒ์„ฑํ•œ ์›น ์„œ๋ฒ„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ง€์›Œ์•ผ ํ•œ๋‹ค๋ฉด ๋‹ค์Œ์„ ๋จผ์ € ์‹คํ–‰ํ•˜๊ธฐ -- docker rm -f [--name ๋’ค์— ์ ์—ˆ๋˜ ์›น์„œ๋ฒ„ ์ด๋ฆ„]
docker run -d \
  --name wordpress \
  --link wordpressdb:mysql \
  -e WORDPRESS_DB_HOST=mysql:3306 \
  -e WORDPRESS_DB_USER=root \
  -e WORDPRESS_DB_PASSWORD=password \
  -e WORDPRESS_DB_NAME=wordpress \
  -p 80 \
  wordpress

(3) docker ps ๋ฅผ ์ด์šฉํ•ด ํ˜ธ์ŠคํŠธ์˜ ์–ด๋А ํฌํŠธ๊ฐ€ ์ปจํ…Œ์ด๋„ˆ์˜ 80๋ฒˆ ํฌํŠธ์™€ ์—ฐ๊ฒฐ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ ํ›„ ๊ทธ ์ฃผ์†Œ๋กœ ์ ‘์†

(localhost:[ํฌํŠธ]) <- ๊ฐ€์žฅ ์ตœ๊ทผ์— ํ˜ธ์ŠคํŠธ IP์™€ ๋งค์นญ๋œ ํฌํŠธ(0.0.0.0: ~ ->80)๋กœ ์›Œ๋“œํ”„๋ ˆ์Šค ์›น ์„œ๋ฒ„์— ์ ‘์† ๊ฐ€๋Šฅํ•จ!

 

(pdf ๋งˆ์ € ํ™•์ธํ•˜๊ธฐ)

 

 

3. ๋„์ปค ๋ณผ๋ฅจ

* ๋„์ปค ๋ณผ๋ฅจ : ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ง€์›Œ์ ธ๋„ ๋‚จ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅ, ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•œ ๋…๋ฆฝ์ ์ธ ์ €์žฅ๊ณต๊ฐ„

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