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
1
$ git
clone
https:
//github.com/vpslabs/docker-lampp56.git
- Melihat konfigurasi docker compose default
1234567891011121314151617181920212223242526272829303132
$ 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
123456789101112131415161718192021222324252627282930
$ 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
123456
# 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
1
$ sudo docker-compose up -d
- Melihat daftar container
1234567
# 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
1234567
# 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
1234567
# 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