반응형
https://docs.docker.com/samples/wordpress/
도커 공식 문서에서 wordpress를 docker-compose로 배포해보는 페이지가 있었다.
1. 빈 폴더를 만듭니다.
내가 세팅한 이름은 test_wordpress
해당 폴더에는 이후 생길 yml 파일 외에 아무것도 없어야 합니다.
2. cd [폴더이름]
cd test_wordpress
3. docker-compose.yml 파일을 만듭니다.
yml, yaml 확장자 모두 상관없습니다.
version: "3.9"
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
volumes:
- wordpress_data:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
wordpress_data: {}
해당 파일은 wordpress blog와 volume mount를 통해 데이터를 유지해줍니다.
! Notes
- volumes들인 db_data, wordpress_data 는 wordpress databse와 installed theme 및 plugin에 대한 업데이트 정보를 담고 있습니다.
- Wordpress multisite는 포트 번호 80, 443에서만 작동합니다.
4. docker-compose up -d 로 실행
docker-compose up -d
yml파일을 실행한다.
-d 옵션으로 detached mode로 실행하게 됩니다. 필요한 도커 이미지를 pull하고, wordpress 와 데이터베이스 컨테이너를 실행합니다.
만약 포트 번호 80 443 관련해서 binding 오류가 난다면, 이미 다른 서비스가 포트번호를 사용하고 있을 수 있습니다.
5. localhost:8000에 들어가면 wordpress 초기화면이 나옵니다.
이후 유저를 만들고 로그인을 하면 대시보드와 사이트를 사용할 수 있습니다.
6. 컨테이너를 끄려면(Shutdown) docker-compose down 을 친다.
docker-compose down
이 명령어를 치고 다시 docker-compose up -d (실행 명령어)를 하면 아까 수정했던 내용이 그대로 존재한다.
그 이유는 down은 container과 네트워크만 지우기 때문이다. 아직 volume이 살아있다.
docker-compose down --volumes
뒤에 이 옵션을 더 추가하면 docker container뿐만 아니라 volume도 모두 CLEAN UP된다.
반응형
'42seoul > 42seoul_' 카테고리의 다른 글
Install node.js with 42 homebrew in 42 클러스터 맥 (0) | 2022.07.19 |
---|---|
내가 까먹지 않으려고 쓰는 42 exam 보는 법 (0) | 2022.07.15 |
dockerfile 과정 에러 [apt-get update 관련] E: Unable to fetch some archives maybe run apt-get update (0) | 2022.07.04 |
[Inception 42] In docker-compose.yml file network must be a mapping not a string (0) | 2022.06.21 |
[Inception 42] Virtualbox 화면 크기 키우기 (0) | 2022.06.21 |
[Inception 42] Ubuntu에 Docker 설치하기 (0) | 2022.06.21 |
[Inception 42] ubuntu 세팅하고 유저 설정하기 (0) | 2022.06.21 |
[inception 42] 인셉션 pdf 요구사항 한글 번역 (0) | 2022.06.18 |