
실습 디렉토리 생성
mkdir ~/docker-practice-wordpress
실습 디렉토리로 이동
cd ~/docker-practice-wordpress
nginx에서 Wordpress를 인지할 수 있도록 설정파일을 작성한다.
cat <<EOF > ~/docker-practice-wordpress/default.conf
server {
listen 80;
server_name localhost;
location / {
proxy_pass <http://wordpress/>;
}
}
EOF
데이터베이스에 기록된 데이터 보존을 위해 volume으로 지정할 디렉토리 생성
mkdir ~/docker-practice-wordpress/db_data
docker-compose.yml 파일 작성
cat <<EOF > ~/docker-practice-wordpress/docker-compose.yml
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- ./db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
web:
depends_on:
- wordpress
image: nginx
ports:
- "80:80"
volumes:
- ./default.conf:/etc/nginx/conf.d/default.conf
EOF
docker-compose를 사용하여 컨테이너 생성
docker-compose -f ~/docker-practice-wordpress/docker-compose.yml up -d
컨테이너 확인
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b8ff541a5b2 nginx "nginx -g 'daemon of…" About a minute ago Up About a minute 0.0.0.0:80->80/tcp ubuntu_web_1
0ef1aadf615f wordpress:latest "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:8000->80/tcp ubuntu_wordpress_1
f9e923a64616 mysql:5.7 "docker-entrypoint.s…" 2 minutes ago Up About a minute 3306/tcp, 33060/tcp ubuntu_db_1
접속 확인을 위해 공인 IP 주소 확인
curl wgetip.com
접속 확인
http://[서버IP]
컨테이너 종료
docker-compose stop
Stopping demo2_web_1 ... done
Stopping demo2_wordpress_1 ... done
Stopping demo2_db_1 ... done