Anda harus menambahkan paket Show
Lalu pergi ke direktori dengan
Ini berhasil dalam kasus saya:
Beri tahu saya jika ada kesalahan. EDIT: Anda harus melihat sesuatu seperti ini:
EDIT2: Untuk mengecek semuanya: Silakan jalankan perintah
(menambahkan Kemudian mulai wadah:
Seharusnya itu berjalan baik baik saja. Saya berasumsi bahwa Apache menggunakan port standar (80) - mungkin Anda perlu menyesuaikan itu. Jika Anda memiliki layanan lain/wadah mendengarkan pada port 80 Anda dapat membuat wadah Anda mendengarkan pada port lain:
Itu akan mengarahkan lalu lintas dari port 8080 ke port 80 "di dalam" wadah. Biasanya
Anda menjalankan kontainer di latar belakang. Untuk melakukan ini tambahkan opsi Jika Anda memutuskan untuk menjalankan kontainer di latar belakang, Anda dapat memeriksa log menggunakan
Semoga itu bisa membantu. PengantarKontainerisasi aplikasi mengacu pada suatu proses adaptasi aplikasi dan komponennya dengan tujuan agar dapat menjalankannya dalam lingkungan ringan yang dikenal sebagai kontainer. Lingkungan tersebut terisolasi dan dapat dibuang, serta dapat dimanfaatkan lebih lanjut untuk pengembangan, pengujian, dan penyebaran aplikasi hingga produksi. Dalam panduan ini, kita akan menggunakan Docker Compose untuk melakukan kontainerisasi aplikasi Laravel sebagai pengembangan. Ketika selesai, Anda akan memiliki aplikasi Laravel demo yang berjalan di tiga kontainer layanan terpisah:
Untuk mengizinkan proses pengembangan yang lebih efisien dan memfasilitasi pengawakutuan aplikasi, kita akan membuat berkas aplikasi tetap sinkron menggunakan volume bersama. Kita juga akan melihat cara menggunakan perintah Prasyarat
Langkah 1 — Memperoleh Aplikasi DemoUntuk memulai, kita akan mengambil aplikasi Laravel demo dari repositori Github. Kita tertarik dengan cabang Untuk memperoleh kode aplikasi yang kompatibel dengan tutorial ini, unduh rilis
Kita akan memerlukan perintah
Sekarang, lakukan unzip konten aplikasi dan ganti nama direktori yang belum dibongkar untuk memudahkan akses:
Bernavigasilah ke direktori
Dalam langkah selanjutnya, kita akan menciptakan berkas konfigurasi Langkah 2 — Menyiapkan Berkas .env AplikasiBerkas konfigurasi Laravel terletak di dalam direktori yang bernama Peringatan: Berkas konfigurasi lingkungan berisi informasi sensitif tentang server Anda, termasuk kredensial basis data dan kunci keamanan. Dengan alasan itu, Anda jangan pernah membagikan berkas ini secara publik. Nilai-nilai
yang terkandung di dalam berkas Sekarang kita akan menciptakan berkas
Buka berkas ini menggunakan
Berkas .env
Silakan mengubah nama basis data, nama pengguna, dan kata sandi, jika Anda ingin. Variabel-variabel ini akan digunakan dalam langkah selanjutnya saat kita akan menyiapkan berkas Simpan
berkas itu saat Anda selesai mengedit. Jika menggunakan Langkah 3 — Menyiapkan Dockerfile AplikasiMeskipun kedua layanan MySQL dan Nginx akan berdasarkan citra asali yang diperoleh dari Docker Hub, kita tetap perlu membangun citra khusus untuk kontainer aplikasi. Kita akan menciptakan Dockerfile yang baru untuk itu. Citra travellist kita akan berdasarkan citra PHP resmi Kita juga akan menciptakan pengguna sistem baru; ini diperlukan untuk mengeksekusi perintah Buat Dockerfile yang baru dengan:
Salin konten berikut ke Dockerfile Anda: Dockerfile
Jangan lupa simpan berkas itu saat Anda selesai. Dockerfile dimulai dengan menentukan citra dasar yang kita gunakan: Setelah menginstal paket sistem dan ekstensi PHP, kita menginstal Composer dengan menyalin perintah Pengguna sistem
baru kemudian diciptakan dan disiapkan dengan menggunakan argumen Terakhir, kita mengatur dir kerja asali sebagai Langkah 4 — Menyiapkan Konfigurasi Nginx dan Berkas Buangan Basis DataKetika menciptakan lingkungan pengembangan dengan Docker Compose, seringkali diperlukan untuk berbagi berkas konfigurasi atau inisialisasi dengan kontainer layanan, yang bertujuan menyiapkan atau melakukan bootstrap terhadap layanan tersebut. Praktik ini memfasilitasi pembuatan perubahan terhadap berkas konfigurasi untuk menyetel lingkungan saat Anda mengembangkan aplikasi. Sekarang kita akan menyiapkan folder dengan berkas yang akan digunakan untuk mengonfigurasi dan menginisialisasi kontainer layanan. Untuk menyiapkan Nginx, kita akan berbagi berkas
Buka berkas baru yang bernama
Salin konfigurasi Nginx berikut ke berkas itu: docker-compose/nginx/travellist.conf
Berkas ini akan mengonfigurasi Nginx untuk mendengarkan porta Simpan dan tutup berkas setelah Anda selesai mengedit. Untuk menyiapkan basis data MySQL, kita akan berbagi buangan basis data yang akan diimpor saat kontainer diinisialisasi. Ini adalah fitur yang yang disediakan oleh citra MySQL 5.7 yang akan kita gunakan pada kontainer itu. Buat folder baru untuk berkas inisialisasi MySQL Anda di dalam folder
Buka berkas
Buangan MySQL berikut ini berdasarkan basis data yang telah kita siapkan dalam
panduan Laravel pada LEMP dari kami. Ini akan menciptakan tabel baru yang bernama Tambahkan kode berikut ke berkas: docker-compose/mysql/db_init.sql
Tabel Kita telah selesai menyiapkan Dockerfile aplikasi dan berkas konfigurasi layanan. Selanjutnya, kita akan menyiapkan Docker Compose untuk menggunakan berkas-berkas ini saat menciptakan layanan kita. Langkah 5 — Menciptakan Lingkungan Multi-Kontainer dengan Docker ComposeDocker Compose memungkinkan Anda menciptakan lingkungan multi-kontainer untuk aplikasi yang berjalan pada Docker. Ini menggunakan definisi layanan untuk sepenuhnya membangun lingkungan yang dapat disesuaikan dengan beberapa kontainer yang dapat berbagi volume data dan jaringan. Ini memungkinkan integrasi tanpa hambatan di antara komponen aplikasi. Untuk menyiapkan definisi layanan, kita akan menciptakan berkas baru yang bernama
Kita akan mendefinisikan tiga layanan berbeda dalam berkas Layanan Berkas aplikasi akan disinkronkan baik pada layanan Buat berkas
Berkas Untuk memulai, salin kode boilerplate ini ke berkas docker-compose.yml
Sekarang kita akan mengedit node Layanan appLayanan Meskipun
root dokumen yang disajikan sebagai aplikasi berada di dalam kontainer Salin definisi layanan berikut di bawah node docker-compose.yml
Pengaturan ini melakukan yang berikut:
Layanan |