shlewislee.me

๐Ÿ‹ Docker compose๋กœ Wordpress ๊ตฌ์ถ•ํ•˜๊ธฐ

์›Œ๋“œํ”„๋ ˆ์Šค๊ฐ™์€๊ฑด ์„ค์น˜ํ•˜๊ธฐ ์‰ฌ์šด๊ฑด ๋งž์ง€๋งŒ, ๊ท€์ฐฎ์€ ๊ตฌ์„์ด ๋งŽ๋‹ค. php์„ค์ •๋ถ€ํ„ฐ db, ์›น์„œ๋ฒ„ ๋“ฑ๋“ฑ ์„ค์ •ํ•ด์ค„ ๊ฒƒ์ด ํ•œ๋‘๊ฐœ๊ฐ€ ์•„๋‹ˆ๋‹ค. ํŠนํžˆ php๋ถ€๋ถ„์€ ์ž˜๋ชปํ•˜๋ฉด ์—๋Ÿฌ๋„ ๋งŽ์ด๋‚˜๋Š” ๋ถ€๋ถ„์ด๋ผ ๋”์šฑ ๊ท€์ฐฎ๋‹ค.

์›Œ๋“œํ”„๋ ˆ์Šค๋„ ์—ญ์‹œ Docker-compose๋กœ ์„ค์น˜ ๊ฐ€๋Šฅํ•˜๋‹ค.

 1# docker-compose.yml
 2
 3version: "3.9"
 4    
 5services:
 6  db:
 7    image: mysql:5.7
 8    volumes:
 9      - ./db:/var/lib/mysql
10    restart: always
11    environment:
12      MYSQL_ROOT_PASSWORD: [๋น„๋ฐ€๋ฒˆํ˜ธ]
13      MYSQL_DATABASE: wordpress
14      MYSQL_USER: wordpress
15      MYSQL_PASSWORD: [๋น„๋ฐ€๋ฒˆํ˜ธ]
16    
17  wordpress:
18    depends_on:
19      - db
20    image: wordpress:latest
21    volumes:
22      - ./wp/:/var/www/html
23    ports:
24      - "8000:80"
25    restart: always
26    environment:
27      WORDPRESS_DB_HOST: db:3306
28      WORDPRESS_DB_USER: wordpress
29      WORDPRESS_DB_PASSWORD: [๋น„๋ฐ€๋ฒˆํ˜ธ]
30      WORDPRESS_DB_NAME: wordpress
$ ls
$ docker-compose.yml
$ docker-compose up -d

localhost:8000์œผ๋กœ ์ ‘์†ํ•˜๋ฉด ์›Œ๋“œํ”„๋ ˆ์Šค ์„ค์ •ํŽ˜์ด์ง€๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ณดํ†ต Wordpress๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Nginx๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ฒŒ๋˜๋Š”๋ฐ, Docker๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์žกํ•˜๊ฒŒ php์„ค์ •์„ ํ•ด์ค„ํ•„์š”์—†์ด Caddy๋กœ reverse-proxy๋งŒ ํ•ด์ฃผ๋ฉด๋œ๋‹ค.

# Caddyfile

example.com {
    localhost:8000
}

Wordpress์˜ ๊ฐ„๋‹จํ•œ ๊ฐœ๋ฐœ์ด ๋ชฉ์ ์ด๋ผ๋ฉด Docker๋งŒํผ ํŽธํ•œ ํˆด์ด ์—†์„ ๊ฒƒ์ด๋‹ค. Production์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋Œ€์ฒด๋กœ ์ถ”์ฒœํ•˜์ง€ ์•Š๋Š” ๋“ฏ ํ•˜๋‹ค. ํฐ ๋ฌธ์ œ๋Š” ์—†์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์›Œ๋“œํ”„๋ ˆ์Šค๋Š” ๊ทธ ํŠน์„ฑ์ƒ ๋‚ด๋ถ€ ํŒŒ์ผ๋“ค์ด ๊ฐ€๋ณ€์ ์ธ๋ฐ, ์ด๋Ÿฐ ๊ฐ€๋ณ€์ ์ธ ํŒŒ์ผ๋“ค์„ volume์œผ๋กœ ๋„ฃ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด Docker๋‹ต์ง€ ๋ชปํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

Reply to this post by email โ†ช