Categories
Uncategorized

docker เก่าบน server เก่า

ที่มาปัญหา : ต้องการ update wordpress แต่ทำไม่ได้เพราะว่า PHP เก่า, MySQL เก่า ไม่สามารถอัพรุ่นได้ ติดปัญหา lib-c จะต้องอัพ linux ใหม่ ซึ่งทำไม่ได้ มันเป็น centos อะไรไม่รู้ คนอื่นลงไว้ ถ้าอัพคือกระทบเยอะ

ทางออก : ลง docker ได้ว่ะ แต่เป็น version เก่า ไม่อ่านไฟล์ yaml

แนวทาง : ใช้ docker run service php-fpm และ mysql โดยไฟล์อยู่ภายนอก

ขั้นตอนคร่าวๆ

  1. ทดสอบแนวคิด มึง run php-fpm ให้ได้ก่อน
    • เลือก php-fpm เอาใครดีหรือทำเอง สรุปเอา bitnami
    • ลองติดตั้งปรับจูน สรุป commit new image
    • docker commit phpfpm myphp
  2. เชื่อมโยง apache ไปอ่าน php-fpm ใน docker
    • ใช้ Proxypassmatch php
    • ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://localhost:9000/app/$1
  3. ลอง connect mysql จาก php-fpm ว่าได้ไหม
    • CREATE USER 'somsakul'@'%' IDENTIFIED BY '12345678';
    • GRANT ALL PRIVILEGES ON . TO 'somsakul'@'%' WITH GRANT OPTION;
    • flush privileges;
  4. 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