
작업을 시작하기 전 여태 만들어놓고 사용하지 않는 컨테이너, 볼륨, 이미지, 네트워크들을 삭제해주는 작업을 해준다.
#모든 컨테이너 삭제
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rmi -f $(docker images -q)
#쓰지 않는 볼륨 삭제
docker volume prune
#쓰지 않는 이미지, 볼륨, 네트워크 삭제
docker system prune -a --volumes
하위 폴더로 wp 폴더 생성 후, 내부에 Dockerfile을 생성한다.
워드프레스 공식 이미지는 최종적으로 /usr/src/wordpress 폴더를 /var/www/html 폴더에 덮어씌운다.
아래와 같이 blog 폴더에 해당 파일을 이동시키기 위한 RUN 명령과, 워드프레스 플러그인/테마 관련 폴더 생성을 위한 폴더 생성/권한 설정을 작성해준다.
# wp/Dockerfile
FROM wordpress:5.7.0
RUN mkdir -p /usr/src/blog
RUN mkdir -p /usr/src/blog/wp-content/plugins
RUN mkdir -p /usr/src/blog/wp-content/uploads
RUN cp -rf /usr/src/wordpress/* /usr/src/blog
RUN mv /usr/src/blog /usr/src/wordpress/
RUN chown -R www-data:www-data /usr/src/wordpress
RUN find /usr/src/wordpress/blog/ -type d -exec chmod 0755 {} \; # blog 이하에 있는 폴더들의 권한 설정
RUN find /usr/src/wordpress/blog/ -type f -exec chmod 644 {} \; # blog 이하에 있는 파일들의 권한 설정
초기 워드 프레스 경로 변경을 설정해주고, 플러그인과 테마 설치를 웹 상에서 직접 진행하기 위한 설정들을 진행한다.
초기 워드 프레스 경로 변경 설정
#워드프레스 컨테이너 내로 들어가 설정해준다.
cd html
mkdir blog
mv * bolg/ # blog를 bolg 하부 폴더에 옮길 수 있다는 에러가 발생하지만, 다른 파일들은 모두 정상적으로 이동한다.
docker exec -it wordpress컨테이너이름 /bin/bash
ls # 볼륨이 동기화되므로 blog만 결과로 나오게 된다.
관련 디렉토리 생성 및 권한 설정
docker exec -it wp /bin/bash
$ mkdir /var/www/html/wp-content/plugins # 이미 관련 폴더가 존재해, 에러가 발생할 수는 있다.
$ mkdir /var/www/html/wp-content/uploads # 이미 관련 폴더가 존재해, 에러가 발생할 수는 있다.
$ chown -R www-data:www-data /var/www
$ find /var/www/ -type d -exec chmod 755 {} \;
$ find /var/www/ -type f -exec chmod 644 {} \;
플러그인과 테마 설치를 웹 상에서 진행하기 위해 필요한 과정이다.
docker exec -it wp /bin/bash
apt-get update
apt-get install vim
vi wp-config.php
~
* @package WordPress
*/
define('FS_METHOD', 'direct'); # 이 부분을 추가해준다.
cp wp-config.php blog/ # 이후 해당 파일을 blog 하위 폴더로 이동시켜준다.
다음 주소로 접속하여 블로그를 설치해준다.
위 관리자 페이지에서 테마를 적용하고 만들어진 아래 블로그 주소를 입력하여 접속해보면 성공적으로 접속이 되는 것을 확인할 수 있다.