ตัวไฟล์ docker-compose.yml เป็นดังนี้

version: '3.1'
services:
  web:
    image: apache_phpmyadmin
    restart: always
    ports:
      - 80:80
#   container_name: apache
    stdin_open: true
    tty: true

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

  db:
    image: mysql:8.0.32
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example

 

ทำ docker image ที่จะต้องใช้หลายๆ ที่ เอาไว้ใน docker hub เลย จะได้ไม่ต้องทำอะไรหลายรอบ พอต้องได้ทำ ก็ทำให้ได้เรียนรู้เรื่องการทำ image หลายอย่าง มีประเด็นเล็กน้อย เยอะมากจริงๆ

ตัว image Dockerfile ในการ build จะมีรายละเอียดตามนี้

จะทำ reverse proxy ให้ รพ.ปากท่อ แต่ไปดูแล้ว ไม่มีเครื่องว่างเลย และ Linux ที่ลงไว้ก็เป็น CentOS สาย RedHat ซึ่งก็เก่าแล้ว เอา nginx certbot ไปลง ก็เป็นรุ่นเก่าไปแล้ว จะ update ระบบ เดี๋ยว php และ software ตัวอื่นๆ เปลี่ยน version ไป แล้วงานที่มีอยู่เดิมของเขาหยุดทำงาน จะยิ่งยุ่งไปใหญ่

พอดีดูในเครื่องที่เขาใช้ทำงานอยู่ มีลง docker เอาไว้แล้ว ความคิดก็แว่บมาว่า ถ้างั้นทำ docker มาลงสิ จะใช้ Linux ตัวไหนก็ได้ตามใจเราเลย

เริ่มจากคิดก่อนว่าจะเอา base มาจากตัวไหน ปกติถนัด ubuntu ก็เลยเอา base ของ ubuntu มาทำ

ใช้ตัว LTS ใหม่สุด คือ 22.04 jammy เริ่มต้นเขียน Dockerfile กันเลย

FROM ubuntu:jammy

พื้นที่ทำงานของเราจะเป็น /etc/nginx

WORKDIR /etc/nginx

ปรับ Ubuntu 20.04 ให้เปลี่ยน version ของ php จากรุ่น 7.x ไปเป็น 8.x

กรณีทำเป็น Module

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php libapache2-mod-php
sudo a2dismod php7.4
sudo a2enmod php8.x

sudo systemctl restart apache2

ดึงข้อมูลออกจากไฟล์ 10677_CIGNREP_xxxx.REP ไฟล์นี้ต้นฉบับที่ extract ออกมาจาก zip จะมี encoding เป็น cp874

เมื่อ extract ออกมาแล้ว ต้องแปลงให้เป็น utf-8 ก่อน โดยใช้ iconv ดังนี้

เคยเขียน ngrok ไว้แล้วเมื่อเกือบ 2 ปีที่แล้ว ตอนนั้นยังเป็นรุ่น 2.x อยู่ มาครั้งนี้ลองเข้าไปดูใหม่ เห็นขยับเวอร์ชั่นมาเป็น 3.1 แล้ว ก็เลยทดลองดาวน์โหลดมาลองใช้ดูใหม่ พอใช้แล้วก็รู้สึกว่า มันดีขึ้นกว่าเดิม แต่ก่อนถ้าใช้แบบไม่เสียเงิน จะถูกจำกัดการใช้งานพอสมควร ความเร็วก็ไม่ได้เร็วมากนัก แต่มาครั้งนี้ ความเร็วใช้ได้ดีเลย ใช้งานง่าย และน่าใช้ขึ้นเยอะ