워드프레스를 얼마전 AWS 로 옮기면서 도커로 운영하고 있다.
업그레이드 경고가 나온지 꽤 됐는데 클릭 한번으로 되는게 아니다보니 미루다가 이제서야 작업하게 됐다. 집에 서버가 돌아갈때는 괜히 한번씩 콘솔 접속 해보곤 했는데 눈에 안보이니 더 미루게 되는 것 같다. 역시 클라우드가 편한걸까
오랜만에 도커파일을 열어보니 5.7.3
버전으로, 더 미루면 안될 것 같아서, 늦은 시간이지만 생각난 김에 작업을 했다.
FROM wordpress:5.7.3
...
혹시나 업데이트에 실패할 수 있으니 복구할 수 있도록, 서비스를 먼저 내려놓고 DB와 리소스 백업 먼저 진행했다.
# 서비스 종료
docker-compose down
# RDS mysql 데이터 백업
mysqldump \
-h {rds_host_id}.rds.amazonaws.com \
-u {db_user} -p \
> oboki-backup-211108.sql
# 웹 리소스 백업
tar -cvzf data-bakcup-211108.tar.gz data/
# 서비스 실행
docker-compose up -d
DB 변경사항은 어드민 페이지에서 updater 를 이용해 자동으로 반영하려고 서비스를 다시 올렸다.
기능 추가는 사실 별 필요 없는데 보안 패치 때문에 미루지않고 업데이트를 해줘야한다. 이런거 보면 wordpress 호스팅 서비스 쓰는 것도 좋을 것 같고 .. 결국 티스토리가 답인가.
이제 다시 서비스를 내리고, 베이스 이미지 바꿔서
FROM wordpress:5.8.1
RUN apt-get install openssl \
&& a2enmod ssl \
&& a2enmod rewrite \
&& rm -rf /var/www/html/*
EXPOSE 80 443
빌드한 다음 다시 기동하면
# docker-compose down
# docker build . -t wordpress:oboki
Sending build context to Docker daemon 569.5MB
Step 1/3 : FROM wordpress:5.8.1
5.8.1: Pulling from library/wordpress
7d63c13d9b9b: Pull complete
24b15dfd3cfa: Pull complete
64625c2e355f: Pull complete
275a8dd8f358: Pull complete
eb1c8ccc797a: Pull complete
0aaf98f0c33a: Pull complete
e6e7c544c3e3: Pull complete
4ae870a5fb80: Pull complete
98833c4f4a49: Pull complete
f1a6af6bf10a: Pull complete
a56ec4dacea3: Pull complete
ab49679021a9: Pull complete
62d224267322: Pull complete
50baad31f9e0: Pull complete
0dce3ac87bb9: Pull complete
6e8719cc3579: Pull complete
69628185e06b: Pull complete
3a97cd45ec02: Pull complete
5cb43ca46b72: Pull complete
dddea2e20543: Pull complete
0efc87c94491: Pull complete
Digest: sha256:c1bb65c0bb60d22ba572a039614a855164911b39ff6a0d8e38e1e8fd6c8619f7
Status: Downloaded newer image for wordpress:5.8.1
---> ccd598bc2c91
Step 2/3 : RUN apt-get install openssl && a2enmod ssl && a2enmod rewrite && rm -rf /var/www/html/*
---> Running in e637c7c31ba6
Reading package lists...
Building dependency tree...
Reading state information...
openssl is already the newest version (1.1.1k-1+deb11u1).
openssl set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Enabling module socache_shmcb.
Enabling module ssl.
See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates.
To activate the new configuration, you need to run:
service apache2 restart
Module rewrite already enabled
Removing intermediate container e637c7c31ba6
---> 5a5e75008329
Step 3/3 : EXPOSE 80 443
---> Running in 1be776d3819f
Removing intermediate container 1be776d3819f
---> 11761aa74c46
Successfully built 11761aa74c46
Successfully tagged wordpress:oboki
# docker-compose up -d
끝.
별 문제 없이 잘 돼서 다행인데 다음번엔 절차를 좀 더 간소화해서 할 수 있는 방법이 없을지 고민해봐야겠다.