ติดตั้งและรันด้วยสภาพแวดล้อมการพัฒนา Docker ขนาดเล็ก
สามารถดูเอกสารฉบับเต็มได้ที่ https://vessel.shippingdocker.com
Vessel เป็นเพียงชุดไฟล์เล็กๆ ที่ตั้งค่าสภาพแวดล้อมการพัฒนาที่ใช้ Docker ในเครื่องต่อโปรเจ็กต์ ไม่มีอะไรให้ติดตั้งทั่วโลก ยกเว้น Docker เอง!
นี่คือทั้งหมดที่มีให้ใช้งาน:
ผู้แต่งต้องการคนส่งสินค้า/เรือ php artisan vendor:publish --provider="VesselVesselServiceProvider"# รันสิ่งนี้หนึ่งครั้งเพื่อเริ่มต้นโปรเจ็กต์ # ต้องรันด้วย "bash" จนกว่าจะเตรียมใช้งาน bash ภาชนะ init ./สตาร์ทเรือ
ไปที่ http://localhost
ในเบราว์เซอร์ของคุณแล้วดูไซต์ Laravel ของคุณ!
หากคุณใช้ Lumen คุณจะต้องคัดลอกไฟล์ Vessel ด้วยตนเอง แทนที่จะใช้ php artisan vendor:publish
คุณสามารถทำได้ด้วยคำสั่งนี้:
cp -R vendor/shipping-docker/vessel/docker-files/{vessel,docker-compose.yml,docker} .
จากนั้นคุณจะสามารถติดตั้งและดำเนินการต่อได้ตามปกติ
Vessel พยายามเชื่อมโยงกับพอร์ต 80 และ 3306 บนเครื่องของคุณ ดังนั้นคุณจึงสามารถไปที่ http://localhost
ในเบราว์เซอร์ของคุณได้
อย่างไรก็ตาม หากคุณใช้งาน Vessel มากกว่าหนึ่งอินสแตนซ์ คุณจะได้รับข้อผิดพลาดเมื่อเริ่มต้นใช้งาน แต่ละพอร์ตสามารถใช้ได้เพียงครั้งเดียวเท่านั้น เพื่อแก้ไขปัญหานี้ ให้ใช้พอร์ตอื่นต่อโปรเจ็กต์โดยการตั้งค่าตัวแปรสภาพแวดล้อม APP_PORT
และ MYSQL_PORT
ด้วยวิธีใดวิธีหนึ่งจากสองวิธี:
ภายในไฟล์ .env
:
APP_PORT=8080 MYSQL_PORT=33060
หรือเมื่อสตาร์ทเรือ:
APP_PORT=8080 MYSQL_PORT=33060 ./เรือสตาร์ท
จากนั้นคุณสามารถดูโครงการของคุณได้ที่ http://localhost:8080
และเข้าถึงฐานข้อมูลของคุณภายในเครื่องจากพอร์ต 33060
เนื่องจากเราผูก MySQL เข้ากับพอร์ต 3306
SequelPro จึงสามารถเข้าถึงฐานข้อมูลได้โดยตรง
รหัสผ่านสำหรับผู้ใช้ root
ถูกกำหนดโดยตัวแปรสภาพแวดล้อม DB_PASSWORD
จากภายในไฟล์ . .env
การตั้งค่าพอร์ตจะต้องตรงกับตัวแปรสภาพแวดล้อม
MYSQL_PORT
ซึ่งมีค่าเริ่มต้นเป็น3306
นี่คือรายการตัวช่วยในตัวที่คุณสามารถใช้ได้ คำสั่งใดๆ ที่ไม่ได้กำหนดไว้ในสคริปต์ vessel
จะมีค่าเริ่มต้นที่จะถูกส่งผ่านไปยังคำสั่ง docker-compose
หากไม่ได้ใช้คำสั่ง มันจะรัน docker-compose ps
เพื่อแสดงรายการคอนเทนเนอร์ที่ทำงานอยู่สำหรับสภาพแวดล้อมนี้
# แสดงเวอร์ชันปัจจุบันของเรือ$ เรือ --version # หรือ [ -v | เวอร์ชัน ]# แสดงความช่วยเหลือของเรือ$ เรือ --help # หรือ [ -H | ช่วย ]
# เริ่มต้นสภาพแวดล้อม./vessel start## นี่เทียบเท่ากับ./vessel up -d# หยุดสภาพแวดล้อม./vessel stop## นี่เทียบเท่ากับ./vessel down
# ใช้ composer./vessel composer <cmd>./vessel comp <cmd> # "comp" เป็นทางลัดไปยัง "composer"# ใช้ artisan./vessel artisan <cmd>./vessel art <cmd> # "art" คือ ทางลัดไปยัง "artisan"# Run tinker REPL./vessel tinker # "tinker" เป็นทางลัดสำหรับ "artisan tinker"# เรียกใช้ phpunit tests./vessel test## ตัวอย่าง: คุณสามารถส่งผ่านอะไรก็ได้ที่คุณต้องการไปยัง phpunit ไปยังสิ่งนี้เช่นกัน/vessel test --filter=some.phpunit.filter ./vessel test tests/Unit/SpecificTest.php# Run npm./vessel npm <cmd>## ตัวอย่าง: ติดตั้ง deps./vessel npm install# Run Yarn./vessel Yarn <cmd>## ตัวอย่าง: ติดตั้ง deps./ ติดตั้งเส้นด้ายของเรือ # Run gulp./vessel gulp <cmd>
ตามที่กล่าวไว้ สิ่งใดก็ตามที่ไม่ได้รับการยอมรับว่าเป็นคำสั่งในตัวจะถูกใช้เป็นอาร์กิวเมนต์สำหรับคำสั่ง docker-compose
ต่อไปนี้เป็นเคล็ดลับเล็กๆ น้อยๆ ที่มีประโยชน์:
# ทั้งสองรายการจะแสดงรายการตู้คอนเทนเนอร์ที่กำลังทำงานอยู่และสถานะ/เรือ ./vessel ps# ตรวจสอบเอาต์พุตบันทึกของบริการคอนเทนเนอร์/vessel logs # บันทึกคอนเทนเนอร์ทั้งหมด/แอปบันทึกเรือ # nginx | php logs./vessel logs mysql # mysql logs./vessel logs redis # redis logs## ท้ายบันทึกเพื่อดูเอาต์พุตในขณะที่มันถูกสร้างขึ้น/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# เริ่ม bash shell ภายในคอนเทนเนอร์ # นี่เหมือนกับ SSH เข้าสู่เซิร์ฟเวอร์ # โปรดทราบว่าการเปลี่ยนแปลงคอนเทนเนอร์ที่ทำในลักษณะนี้จะ **ไม่*# รอดจากการหยุดและเริ่มต้นสภาพแวดล้อมของเรือ# หากต้องการติดตั้งซอฟต์แวร์หรือเปลี่ยนการกำหนดค่าเซิร์ฟเวอร์ คุณจะต้อง# แก้ไข Dockerfile และเรียกใช้: ./vessel build./vessel exec app bash# ตัวอย่าง: ฐานข้อมูล mysqldump "homestead" ไปยังระบบไฟล์ในเครื่อง # เราต้องเพิ่มรหัสผ่านในบรรทัดคำสั่งด้วยวิธีนี้ # ซึ่งจะสร้างไฟล์ "homestead.sql" บนระบบไฟล์ในเครื่องของคุณ ไม่ใช่ # ภายใน คอนเทนเนอร์ # @link https://serversforhackers.com/c/mysql-in-dev-docker./vessel exec mysql mysqldump -u root -psecret homestead > homestead.sql
จุดมุ่งหมายของโครงการนี้คือความเรียบง่าย ประกอบด้วย:
พีเอชพี 7.4
มายเอสคิวแอล 5.7
เรดิส (ล่าสุด)
NodeJS (ล่าสุด) พร้อม Yarn & Gulp
หากคุณไม่คุ้นเคยกับ Docker ให้ลองใช้หลักสูตร Docker in Development ซึ่งจะอธิบายหัวข้อสำคัญในการรวบรวมสิ่งนี้เข้าด้วยกัน
หากคุณต้องการดูว่าเวิร์กโฟลว์นี้ได้รับการพัฒนาอย่างไร ให้ดูที่ Shipping Docker และลงทะเบียนโมดูลหลักสูตรฟรี ซึ่งจะอธิบายการสร้างเวิร์กโฟลว์ Docker นี้
Vessel ต้องใช้ Docker และปัจจุบันใช้งานได้บน Windows, Mac และ Linux เท่านั้น
Windows ต้องใช้ Hyper-V รองรับการใช้ Git Bash (MINGW64) และ WSL Native Windows ยังอยู่ระหว่างการพัฒนา
แม็ค | ลินุกซ์ | หน้าต่าง |
---|---|---|
ติดตั้งนักเทียบท่าบน Mac | ติดตั้ง Docker บน Debian | ติดตั้งนักเทียบท่าบน Windows |
ติดตั้งนักเทียบท่าบน Ubuntu | ||
ติดตั้งนักเทียบท่าบน CentOS |