Bagaimana cara dockerize aplikasi php?

Docker adalah program perangkat lunak yang digunakan untuk virtualisasi tingkat sistem operasi. Ini juga disebut containerisasi. Aplikasi PHP sebagian besar disusun oleh server web, juru bahasa dan DBMS (Database) Dalam tutorial ini kita akan menggunakan tumpukan PHP lengkap menggunakan docker. Kami akan mengatur wadah untuk Nginx (server web), MySQL (sistem basis data), dan bahasa PHP itu sendiri

Untuk tutorial ini kita akan membuat aplikasi sederhana yang mengambil daftar kota dari database dan menampilkannya di halaman web. Ini akan membantu dalam memahami dan mendemonstrasikan pekerjaan yang lengkap

Prasyarat

  • Docker CE Terpasang
  • Pengetahuan kerja buruh pelabuhan yang minim
  • Pengetahuan tentang kontainerisasi

Langkah 1. Konfigurasi lingkungan kerja

Aplikasi berbasis buruh pelabuhan dasar terdiri dari beberapa wadah. Sulit untuk mengelola semua ini secara manual. Untuk mengatasi masalah ini kami menggunakan docker-compose, ini membantu mengelola banyak wadah menggunakan file konfigurasi

Gunakan perintah berikut untuk menginstal docker-compose

$ curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Kami akan membuat folder untuk menyimpan semua file di sini. Kemudian cd ke dalamnya dan itu akan digunakan sebagai direktori kerja kita

$ mkdir ~/docker
$ cd ~/docker
_

Buat lebih banyak folder menggunakan perintah ini

$ mkdir php nginx app

Di folder php kita akan memiliki gambar php khusus kita, nginx akan memiliki gambar nginx khusus dan folder aplikasi akan memiliki kode sumber dan file konfigurasi

Langkah 2. Konfigurasi wadah PHP

Kami akan menggunakan php-fpm untuk terhubung ke server web Nginx. Di dalam folder php buat file bernama Dockerfile dan masukkan konten berikut ke dalamnya

FROM php:7.1-fpm-alpine3.4
RUN apk update--no-cache 
    && apk add--no-cache $PHPIZE_DEPS 
    && apk add--no-cache mysql-dev 
    && docker-php-ext-install pdo pdo_mysql

Kami menggunakan versi Alpine di sini. Alpine adalah distribusi kecil yang menargetkan kontainer

$ docker build -t name-php php/
_

Seperti disebutkan di atas tentang file konfigurasi docker-compose yml, mari buat file

$ touch app/docker-compose.yml

Masukkan konfigurasi berikut ke dalam file

version: '2'
services:
  php:
    image: vultr-php
    volumes:
      -./:/app
    working_dir: /app
_

Version adalah versi dari docker-compose. yml digunakan di sini. Perhatikan bahwa setiap layanan memiliki kunci khusus di dalam blok layanan. Nama yang ditentukan di sini akan digunakan untuk mereferensikan penampung khusus ini nanti. Kami juga mendefinisikan pemetaan volume

volumes:
  - ./:/app

Ini memberitahu komposisi-docker untuk memetakan direktori saat ini (. /) ke direktori /app di dalam penampung. Baris terakhir akan memastikan bahwa perintah akan dijalankan dari folder ini i. e. /aplikasi

Atur wadah menggunakan perintah berikut

$ cd ~/docker/app
$ docker-compose up -d
_

Untuk memeriksa apakah wadah php dijalankan. Gunakan perintah berikut

$ docker ps
_

Langkah 3. Menjalankan Perintah di dalam wadah

Gunakan perintah docker-compose berikut, pastikan Anda masih berada di dalam folder app

$ mkdir ~/docker
$ cd ~/docker
_0

Placeholder layanan mengacu pada kunci layanan

Jalankan perintah berikut di docker-compose untuk memeriksa versi php

$ mkdir ~/docker
$ cd ~/docker
_1

Anda akan melihat pesan berikut

$ mkdir ~/docker
$ cd ~/docker
_2

Langkah 4. Mengonfigurasi wadah Nginx

Seperti sebelumnya kita akan membuat gambar khusus untuk Nginx. Gunakan perintah berikut untuk melakukannya

$ mkdir ~/docker
$ cd ~/docker
_3

Masukkan konfigurasi berikut ke dalam Dockerfile

$ mkdir ~/docker
$ cd ~/docker
_4

Pada file Docker ini kami cukup menyalin file konfigurasi ke dalam pengaturan aplikasi kami

$ mkdir ~/docker
$ cd ~/docker
_5

Sekarang tambahkan konfigurasi berikut ke file

$ mkdir ~/docker
$ cd ~/docker
_6

Komposisi buruh pelabuhan secara internal membuat jaringan dan menetapkan nama layanan sebagai nama host untuk setiap layanan yang ditentukan. Buat gambar Nginx

$ mkdir ~/docker
$ cd ~/docker
_7

Sekarang docker-compose. yml dengan konfigurasi berikut

$ mkdir ~/docker
$ cd ~/docker
_8

Buat file bernama index. php menggunakan perintah berikut

$ mkdir ~/docker
$ cd ~/docker
_9

Sebelum menjalankan perintah di bawah ini, pastikan port 80 aktif dan berfungsi

$ cd ~/docker/app
$ docker-compose up -d
_

Langkah 5. Konfigurasi wadah MySQL

Perbarui file ~/docker/app/docker-compose. yml menggunakan konfigurasi berikut

$ mkdir php nginx app
1

Sekarang mari unduh contoh database MySQL menggunakan perintah berikut di dalam folder app

$ mkdir php nginx app
2

Sekarang atur wadah menggunakan perintah berikut

$ mkdir php nginx app
_3

Sekarang isi database dunia

$ mkdir php nginx app
_4

Sekarang mari kita periksa apakah data telah berhasil diisi dalam database. Untuk itu akses prompt MySQL di wadah. Gunakan perintah berikut

$ mkdir php nginx app
5

Di dalam prompt, jalankan kueri berikut

$ mkdir php nginx app
6

Daftar data di dalam database, dalam hal ini kota akan ditampilkan. Keluar dari prompt menggunakan perintah berikut

$ mkdir php nginx app
7

Langkah 6. Membangun aplikasi PHP

Kontainer sedang berjalan, sekarang mari kita buat aplikasi PHP. Buka aplikasi/index. php, dan rekatkan kode berikut di dalamnya

$ mkdir php nginx app
_8

Sekarang jika Anda mengakses alamat IP di browser Anda, Anda akan melihat daftar kota yang paling populer. Selamat Anda telah berhasil men-deploy aplikasi PHP menggunakan docker

Bagaimana cara Dockerize aplikasi PHP yang ada?

Secara khusus, Anda akan mempelajari caranya. .
Instal Docker
Jalankan gambar Docker
Bangun citra pelanggan untuk menjalankan program
Gunakan Docker Compose untuk menyiapkan lingkungan dev
Jalankan aplikasi kami di Heroku
Uji aplikasi kami dengan Continuous Integration (CI)
Deploy aplikasi Anda dengan Continuous Deployment (CD)

Bagaimana cara menjalankan proyek PHP dengan buruh pelabuhan?

Dalam langkah-langkah berikut, kita membuat dan menjalankan aplikasi php. .
Buat direktori
Buat File Php
Buat DockerFile
Buat Gambar Docker
Jalankan gambar Docker

Bisakah Anda menjalankan PHP di buruh pelabuhan?

Membuat perintah PHP . Anda hanya perlu menambahkan beberapa volume ke wadah. Volume ini harus menyertakan jalur ke kode Anda. You can use docker run to create a container and execute PHP. You just need to add some volumes to the container. These volumes should include the paths to your code.

Bagaimana Anda melakukan Dockerisasi aplikasi langkah demi langkah?

Cara Menerapkan Dockerisasi .
Pilih Gambar dasar. Anda dapat memulai dari Base OS dan menginstal semuanya sendiri. .
Instal paket yang diperlukan. .
Tambahkan file kustom Anda. .
Tentukan pengguna mana yang akan (atau dapat) menjalankan penampung Anda. .
Tentukan port yang terbuka. .
Tentukan titik masuk. .
Tentukan metode Konfigurasi. .
Eksternalisasikan data Anda