ที่มาปัญหา : ต้องการ update wordpress แต่ทำไม่ได้เพราะว่า PHP เก่า, MySQL เก่า ไม่สามารถอัพรุ่นได้ ติดปัญหา lib-c จะต้องอัพ linux ใหม่ ซึ่งทำไม่ได้ มันเป็น centos อะไรไม่รู้ คนอื่นลงไว้ ถ้าอัพคือกระทบเยอะ
ทางออก : ลง docker ได้ว่ะ แต่เป็น version เก่า ไม่อ่านไฟล์ yaml
แนวทาง : ใช้ docker run service php-fpm และ mysql โดยไฟล์อยู่ภายนอก
ขั้นตอนคร่าวๆ
- ทดสอบแนวคิด มึง run php-fpm ให้ได้ก่อน
- เลือก php-fpm เอาใครดีหรือทำเอง สรุปเอา bitnami
- ลองติดตั้งปรับจูน สรุป commit new image
docker commit phpfpm myphp
- เชื่อมโยง apache ไปอ่าน php-fpm ใน docker
- ใช้ Proxypassmatch php
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://localhost:9000/app/$1
- ลอง connect mysql จาก php-fpm ว่าได้ไหม
CREATE USER 'somsakul'@'%' IDENTIFIED BY '12345678';
GRANT ALL PRIVILEGES ON . TO 'somsakul'@'%' WITH GRANT OPTION;
flush privileges;
- run ให้ wordpress ทำงานเหมือนเดิม ได้ไหม
docker สำหรับ php-fpm
docker run -d --name phpfpm \
-v /home/somsakul/www:/app \
-v /home/somsakul/docker/etc:/opt/bitnami/php/etc/ \
-p 127.0.0.1:9000:9000 \
bitnami/php-fpm \
php-fpm --nodaemonize
docker สำหรับ mariadb
docker run --rm --name maria \
-e ALLOW_EMPTY_PASSWORD=yes \
-v /home/somsakul/docker/mariadb:/bitnami/mariadb \
-p 0.0.0.0:13306:3306 \
bitnami/mariadb
เข้าไปสอดส่อง running docker
docker exec -it <container name> bash