* 초기 설정 및 테스트
mkdir wptest
cd wptest
cat > docker-compose.yml
# docker-compose.yml
version: "3"
services:
nginxproxy:
depends_on:
- nginx
- db
- wordpress
image: nginx:latest
ports:
- "80:80"
restart: always
volumes:
- "./nginx/nginx.conf:/etc/nginx/nginx.conf"
nginx:
image: nginx:latest
restart: always
db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:5.7.0
ports:
- "8080:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
test용 폴더를 만들고 폴더 안에 docker-compose.yml 파일을 만들어 위 내용을 입력한다
mkdir nginx
cat > nginx/nginx.conf
# nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" "$request_uri" "$uri"'
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
upstream docker-wordpress {
server wordpress:80;
}
upstream docker-web {
server nginx:80;
}
server {
location /blog/ {
proxy_pass http://docker-wordpress;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
location / {
proxy_pass http://docker-web;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
}
nginx 폴더를 만들고 안에 nginx.conf 파일을 만들어 위 내용을 입력한다
docker exec -it 20-wordpress-1 /bin/bash
# 20-wordpress-1은 docker ps의 wordpress image의 name
mkdir blog
mv * blog
접속 후 안에 php파일 등이 있는지 확인하고 nginx.conf 파일에 입력한 wordpress 경로(blog)의 폴더를 만든다
blog 폴더 안에 모든 파일을 옮겨 넣은 후 주소로 접속이 되는지 확인한다
https://docs.docker.com/samples/wordpress/
접속이 됐으면 설치 후 위 링크를 참조해 wordpress기능을 이용해 보면 된다
'Docker' 카테고리의 다른 글
docker commit (0) | 2023.10.06 |
---|---|
docker volume (0) | 2023.10.05 |
docker network (0) | 2023.10.05 |
docker compose 예제 실습 (1) | 2023.10.05 |
docker, minikube 기초설정, 예제 (0) | 2023.10.04 |