Konfigurasi Docker Untuk Laravel
- Get link
- X
- Other Apps
Docker adalah sebuah aplikasi yang bersifat open source yang berfungsi sebagai wadah/container untuk mengepak/memasukkan sebuah software secara lengkap beserta semua hal lainnya yang dibutuhkan oleh software tersebut dapat berfungsi.
Jadi dengan docker kita sudah tidak perlu memakai xampp lagi, karena sudah tersedia web server dan database di dalam container docker. Langsung saja kita mulai proses konfigurasi docker untuk laravel.
1. Install Laravel
Untuk menginstal laravel ketikkan perintah
$ composer create-project — prefer-dist laravel/laravel namaProject
2. Konfigurasi Docker
setelah laravel berhasil di install. Saatnya menambahkan 4 file di dalam project laravel yang sudah kita install tadi. Di sini saya anggap kita sudah menginstal docker. Jika belum silahkan di install terlebih dahulu https://www.docker.com/
File yang perlu kita tambahkan adalah
- app.dockerfile
FROM php:7.1.19-fpm
RUN apt-get update && apt-get install -y libmcrypt-dev mysql-client \
&& docker-php-ext-install mcrypt pdo_mysql
WORKDIR /var/www
2. web.dockerfile
FROM nginx:1.10
ADD ./vhost.conf /etc/nginx/conf.d/default.conf
WORKDIR /var/www
3. vhost.conf
server {
listen 80;
index index.php index.html;
root /var/www/public;
location / {
try_files $uri /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass app:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
4. docker-compose.yml
version: '2'
services:
web:
build:
context: ./
dockerfile: web.dockerfile
volumes:
- ./:/var/www
ports:
- "80:80"
links:
- app
app:
build:
context: ./
dockerfile: app.dockerfile
volumes:
- ./:/var/www
links:
- database
environment:
- "DB_PORT=3306"
- "DB_HOST=database"
database:
image: mysql:5.6
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: LaravelDocker
ports:
- "3306:3306"
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
PMA_ARBITRARY: 1
MYSQL_USER: root
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: root
ports:
- "8080:80"
links:
# for mysql container
- "database:database"
jadi struktur foldernya akan menjadi seperti ini


setelah itu ketikkan perintah
$ docker-compose up -d
perintah tersebut akan mendownload container dari web server dan database yang sudah di tambahkan di file dokcer-compose.yml tadi. Jika sudah terdownload akan terstart sendiri


lalu ketikkan perintah
$ docker ps


terlihat webserver dan database sudah berjalan. lalu kita cek di browser apakah laravel kita sudah berjalan atau belum dengan menggunakan url http://localhost/


setelah itu buka .env untuk melakukan setting database
lalu ketikkan perintah
$ php artisan migrate
jika tidak terjadi error, maka kita sudah berhasil konek ke database.


lalu kita akan mencoba melakukan insert data ke database dan menampilkannya dalam bentuk json. buka file web.php dan tuliskan beberapa baris code berikut


lalu http://localhost/insert paste url tersebut di browser, jika berhasil data akan muncul


Lalu buka phpmyadmin dengan phpmyadmin dengan user sesuai .env yang sudah di setting


sekian dari saya, jika ada salah tolong di benarkan di komentar. Terimakasih~
Referensi
https://www.dewaweb.com/blog/tutorial-docker-dalam-bahasa-indonesia/
- Get link
- X
- Other Apps
Comments
Post a Comment