Aktif dan berjalan dengan lingkungan pengembang Docker kecil.
Dokumentasi lengkap dapat ditemukan di https://vessel.shippingdocker.com.
Vessel hanyalah sekumpulan kecil file yang menyiapkan lingkungan pengembangan berbasis Docker lokal per proyek. Tidak ada yang perlu diinstal secara global, kecuali Docker itu sendiri!
Hanya ini yang diperlukan untuk menggunakannya:
komposer membutuhkan buruh pelabuhan/kapal php artisan vendor:publish --provider="VesselVesselServiceProvider"# Jalankan ini sekali untuk menginisialisasi proyek# Harus dijalankan dengan "bash" hingga inisialisasibash vessel init ./kapal mulai
Kunjungi http://localhost
di browser Anda dan lihat situs Laravel Anda!
Jika Anda menggunakan Lumen, Anda harus menyalin file Vessel secara manual daripada menggunakan php artisan vendor:publish
. Anda dapat melakukannya dengan perintah ini:
cp -R vendor/shipping-docker/vessel/docker-files/{vessel,docker-compose.yml,docker} .
dan kemudian Anda dapat menginstal dan melanjutkan seperti biasa.
Vessel mencoba mengikat ke port 80 dan 3306 di mesin Anda, jadi Anda cukup membuka http://localhost
di browser Anda.
Namun, jika Anda menjalankan lebih dari satu Vessel, Anda akan mendapatkan kesalahan saat memulainya; Setiap port hanya dapat digunakan satu kali. Untuk menyiasatinya, gunakan port berbeda per proyek dengan mengatur variabel lingkungan APP_PORT
dan MYSQL_PORT
dengan salah satu dari dua cara berikut:
Di dalam file .env
:
APP_PORT=8080 MYSQL_PORT=33060
Atau saat memulai Kapal:
APP_PORT=8080 MYSQL_PORT=33060 ./kapal mulai
Kemudian Anda dapat melihat proyek Anda di http://localhost:8080
dan mengakses database Anda secara lokal dari port 33060
;
Karena kami mengikat MySQL ke port 3306
, SequelPro dapat mengakses database secara langsung.
Kata sandi untuk root
pengguna diatur oleh variabel lingkungan DB_PASSWORD
dari dalam file .env
.
Pengaturan port harus cocok dengan variabel lingkungan
MYSQL_PORT
, yang defaultnya adalah3306
.
Berikut daftar pembantu bawaan yang dapat Anda gunakan. Perintah apa pun yang tidak ditentukan dalam skrip vessel
akan diteruskan secara default ke perintah docker-compose
. Jika perintah not digunakan, ia akan menjalankan docker-compose ps
untuk membuat daftar container yang berjalan untuk lingkungan ini.
# menunjukkan versi kapal saat ini$ kapal --versi # atau [ -v | versi ]# menunjukkan bantuan kapal$ kapal --bantuan # atau [ -H | membantu ]
# Mulai lingkungan./vessel start## Ini setara dengan./vessel up -d# Hentikan lingkungan./vessel stop## Ini setara dengan./vessel down
# Gunakan composer./vessel composer <cmd>./vessel comp <cmd> # "comp" adalah pintasan ke "composer"# Gunakan artisan./vessel artisan <cmd>./vessel art <cmd> # "art" adalah pintasan ke "artisan"# Jalankan tinker REPL./vessel tinker # "tinker" adalah pintasan untuk "artisan tinker"# Jalankan phpunit test./vessel test## Contoh: Anda juga dapat meneruskan apa pun yang Anda inginkan ke phpunit ini./vessel test --filter=some.phpunit.filter ./vessel test test/Unit/SpecificTest.php# Jalankan npm./vessel npm <cmd>## Contoh: install deps./vessel npm install# Jalankan Yarn./vessel Yarn <cmd>## Contoh: install deps./ pemasangan benang kapal# Jalankan gulp./vessel gulp <cmd>
Seperti disebutkan, apa pun yang tidak dikenali sebagai perintah bawaan akan digunakan sebagai argumen untuk perintah docker-compose
. Berikut beberapa trik praktis:
# Keduanya akan mencantumkan kontainer yang sedang berjalan dan statusnya./kapal ./vessel ps# Periksa keluaran log dari layanan kontainer./vessel logs # semua log kontainer./aplikasi log kapal # nginx | php logs./vessel logs mysql # mysql logs./vessel logs redis # redis logs## Ekor log untuk melihat keluaran saat dihasilkan./vessel logs -f # all logs./vessel logs -f app # nginx | php logs## Tail Laravel Logs./vessel exec app tail -f /var/www/html/storage/logs/laravel.log# Mulai bash shell di dalam container# Ini seperti memasukkan SSH ke server# Perhatikan bahwa perubahan pada container yang dilakukan dengan cara ini **TIDAK**# akan bertahan dengan menghentikan dan memulai lingkungan kapal# Untuk menginstal perangkat lunak atau mengubah konfigurasi server, Anda harus# mengedit Dockerfile dan menjalankan: ./vessel build./vessel exec app bash# Contoh: database mysqldump "homestead" ke sistem file lokal# Kita harus menambahkan kata sandi di baris perintah dengan cara ini# Ini akan membuat file "homestead.sql" di sistem file lokal Anda, bukan# di dalam wadah# @link https://serversforhackers.com/c/mysql-in-dev-docker./vessel exec mysql mysqldump -u root -psecret homestead > homestead.sql
Tujuan dari proyek ini adalah kesederhanaan. Ini termasuk:
PHP 7.4
MySQL 5.7
Redis (terbaru)
NodeJS (terbaru), dengan Yarn & Gulp
Jika Anda belum terbiasa dengan Docker, cobalah kursus Docker dalam Pengembangan ini, yang menjelaskan topik-topik penting tentang bagaimana hal ini disusun.
Jika Anda ingin melihat bagaimana alur kerja ini dikembangkan, lihat Shipping Docker dan daftar untuk modul kursus gratis yang menjelaskan pembuatan alur kerja Docker ini.
Vessel memerlukan Docker, dan saat ini hanya berfungsi di Windows, Mac, dan Linux.
Windows perlu menjalankan Hyper-V. Menggunakan Git Bash (MINGW64) dan WSL didukung. Windows asli masih dalam pengembangan.
Mac | Linux | jendela |
---|---|---|
Instal Docker di Mac | Instal Docker di Debian | Instal Docker di Windows |
Instal Docker di Ubuntu | ||
Instal Docker di CentOS |