Perusahaan mungkin memiliki aplikasi-aplikasi lama yang masih perlu dijalankan karena berhubungan dengan operasional perusahaan. Sebagai contoh kita mungkin membuat aplikasi tahun 2014 menggunakan PHP 5.6 dan tahun 2024 ini juga digunakan.  Kemudian muncul masalah ketika program tersebut perlu dipindah ke server lain karena kita mungkin sudah tidak memiliki Linux yang dapat menjalankan PHP 5.6 . Salah satu solusi adalah menggunakan Docker.

Instalasi PHP 5.6 dan MySQL 5.6 pada Docker pada Docker adalah seperti langkah-langkah berikut ini

  1.  Silahkan melihat informasi di https://github.com/vpslabs/docker-lampp56 .
  2. Mendowload dari github
    $ git clone https://github.com/vpslabs/docker-lampp56.git
    
  3. Melihat konfigurasi docker compose default
    $ cd docker-lampp56/
    
    $ cat docker-compose.yml
    version: "3.7"
    services:
      web:
        build:
          context: .
          dockerfile: php-apache/Dockerfile
        restart: unless-stopped
        ports:
          - 80:80
        volumes:
          - ./public_html:/var/www/html
          - ./logs/apache2:/var/log/apache2
    
      db:
        image: mysql:5.6
        restart: unless-stopped
        environment:
          - MYSQL_ROOT_PASSWORD=secret
        volumes:
          - ./mysql/mysql-data:/var/lib/mysql
    
      phpmyadmin:
        image: phpmyadmin
        ports:
          - 56:80
        environment:
          - PMA_HOST=db
          - PMA_USER=root
          - PMA_PASSWORD=secret
    
  4. Mengubah konfigurasi docker compose sesuai kebutuhan kita
    $ cat docker-compose.yml
    version: "3.7"
    services:
      web:
        build:
          context: .
          dockerfile: php-apache/Dockerfile
        restart: unless-stopped
        ports:
          - 7080:80
        volumes:
          - ./public_html:/var/www/html
          - ./logs/apache2:/var/log/apache2
    
      db:
        image: mysql:5.6
        restart: unless-stopped
        environment:
          - MYSQL_ROOT_PASSWORD=RahasiaHati
        volumes:
          - ./mysql/mysql-data:/var/lib/mysql
    
      phpmyadmin:
        image: phpmyadmin
        ports:
          - 756:80
        environment:
          - PMA_HOST=db
          - PMA_USER=root
          - PMA_PASSWORD=RahasiaHati
    
  5. Melihat isi Dockerfile
    # cat ./php-apache/Dockerfile
    FROM php:5.6-apache
    
    COPY php-apache/php.ini /usr/local/etc/php/php.ini
    
    RUN docker-php-ext-install mysql mysqli pdo pdo_mysql
    
  6. Membuat container-container
    $ sudo docker-compose up -d
    
  7. Melihat daftar container
    # docker container ls
    CONTAINER ID   IMAGE                COMMAND                  CREATED        STATUS        PORTS                                                      NAMES
    fe2421ed6b35   phpmyadmin           "/docker-entrypoint.…"   40 hours ago   Up 40 hours   0.0.0.0:756->80/tcp, :::756->80/tcp                        docker-lampp56-phpmyadmin-1
    16398048ed8e   mysql:5.6            "docker-entrypoint.s…"   40 hours ago   Up 11 hours   3306/tcp                                                   docker-lampp56-db-1
    5628b4089adb   docker-lampp56-web   "docker-php-entrypoi…"   40 hours ago   Up 39 hours   0.0.0.0:7080->80/tcp, :::7080->80/tcp                      docker-lampp56-web-1
    49c86a62d920   odoo:17.0            "/entrypoint.sh odoo"    2 weeks ago    Up 5 days     8071-8072/tcp, 0.0.0.0:9070->8069/tcp, :::9070->8069/tcp   odoo17-web-1
    0df1d0243d48   postgres:15          "docker-entrypoint.s…"   2 weeks ago    Up 2 weeks    5432/tcp                                                   odoo17-db-1
    
    
  8. Melihat daftar network
    # docker network ls
    NETWORK ID     NAME                     DRIVER    SCOPE
    eb37a712508b   bridge                   bridge    local
    dcb1cc8babfe   docker-lampp56_default   bridge    local
    a24dfa87bdb6   host                     host      local
    ac72c6aed1bc   none                     null      local
    d6375e67ec66   odoo17_default           bridge    local
    
    
  9. Melihat isi container web server
    # docker inspect  docker-lampp56-web-1 | less
    	---dipotong---
            "HostConfig": {
                "Binds": [
                    "/home/aris/docker-lampp56/logs/apache2:/var/log/apache2:rw",
                    "/home/aris/docker-lampp56/public_html:/var/www/html:rw"
    	---dipotong---
    
  10. Mengupdate koneksi ke MySQL
    a. Tampilan home error:


    b. Update passwordnya:


    c. Halaman home menjadi normal

  11. Melihat tampilan phpMyadmin

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Instalasi PHP 5.6 dan MySQL 5.6 pada Docker