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
- Silahkan melihat informasi di https://github.com/vpslabs/docker-lampp56 .
- Mendowload dari github
$ git clone https://github.com/vpslabs/docker-lampp56.git
- 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
- 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
- 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
- Membuat container-container
$ sudo docker-compose up -d
- 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
- 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
- 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---
- Mengupdate koneksi ke MySQL
a. Tampilan home error:
b. Update passwordnya:
c. Halaman home menjadi normal
- Melihat tampilan phpMyadmin
Kunjungi www.proweb.co.id untuk menambah wawasan anda.
Instalasi PHP 5.6 dan MySQL 5.6 pada Docker