Instal Apache, PHP, & Mysql di Docker pada Debian

Selamat datang kembali di website asepit yang selalu memberikan informasi mengenai dunia Teknologi khususnya pada bidang Komputer, Pemrograman, dan juga Jaringan. Bagaimana kabar kalian semua, mudah - mudahan dalam keadaan sehat wal afiat dan selalu dilancarkan rezekinya. Pada pembahasan kali ini saya akan meneruskan artikel yang kemarin yaitu Instal Docker pada Debian dan sekarang kita akan lanjut ke penginstalan Lamp di Docker pada Debian.

1. Buat file docker-compose.yml pada direktori yang telah dibuat untuk web server docker

version: '3.3'
services:
web:
image: php:7.2-apache
container_name: php72
volumes:
- ./php:/var/www/html/
ports:
- 8000:80

2. Dan coba jalankan serta akses localhost dengan perintah berikut

docker-compose up
127.0.0.1:8000

3. Jika output pada browser Forbidden kita balik lagi ke terminal dan membuat sample file .php

cd php
vim index.php
<?php
echo "Hello World"
>

4. Ubah permission pada direktori php dengan perintah berikut

sudo chown -R $user:$user php/

untuk melihat perubahan nya kita bisa lihat dengan perintah

ls -la

5. Dan coba lagi jalankan pada browser serta pastikan sudah berjalan

docker-compose up

6. Buat file baru pada folder php dengan perintah dan syntak berikut

vim Dockerfile
ROM php:7.2-apache
RUN apt-get update && apt-get upgrade -y
RUN docker-php-ext-install mysqli
EXPOSE 80

7. Lanjut ke penginstalan Mysql dengan menambahkan syntak pada docker-compose.yml tadi menjadi seperti ini

version: '3.3'
services:
web:
build:
context: ./php
dockerfile: Dockerfile
container_name: php72
depends_on:
- db
volumes:
- ./php:/var/www/html/
ports:
- 8000:80
db:
container_name: mysql8
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: test_db
MYSQL_USER: devasepit
MYSQL_PASSWORD: secret
ports:
- 6033:3306

8. Dan untuk mengetes apakah database mysql sudah berjalan atau belumnya kita coba jalankan pada file index.php tadi dengan menambahkan syntak berikut

<?php
$host = 'db'; // Nama Service dari docker-compose.yml
$user = 'devasepit';
$password = 'secret';
$db = 'test_db';

$conn = new mysqli($host,$user,$password,$db);
if ($conn->connect_error) {
echo 'Connection Failed'. $conn->connect_error;
} else {
echo 'Mysql Berhasil terhubung.';
}
?>
docker-compose up

warning db

Bila terjadi error seperti ini kita harus menghapus image & container agar clean seperti awal penginstalan docker

Kita lihat & hapus image yang berjalan dengan perintah berikut

docker image ls
docker image prune -

Hapus juga Container & system yang berjalan dengan perintah berikut

docker container prune
docker system prune

Lihat kembali image dan hapus image dengan perintah ini

docker image ls -a
docker rmi image mysql:8.0 php:7.2-apache web_dev_web:latest

8. Cek kembali apakah sudah tidak ada lagi yang berjalan dengan memeriksanya satu persatu dan setelah dikira sudah maka jalankan docker kembali

docker ps
docker image ls
docker image ls -a
docker container ls -a
docker-compose up

docker-mysql

 

 

Mungkin hanya itu untuk pembahasan kali ini mudah - mudahan dapat bermanfaat bagi kita semua, mohon ma'af bila kemarin artikel ini belum sepenuhnya lengkap karena masih dalam proses penulisan. Jangan lupa ikuti juga platform lainnya dibawah ini, saya cukupkan sekian dan Terima Kasih...

Youtube klik disini
Website klik disini
Fans Page klik disini

Related Articles

Comments