(ไม่จำเป็น) ลองใช้กับ Docker
ความต้องการ
ฮาร์ดแวร์
หากคุณต้องการสร้างภาพ Docker ด้วยตัวเอง โปรดตรวจสอบว่าเครื่องของคุณมีหน่วยความจำอย่างน้อย 2GB ส่วนหน้าของ Casdoor เป็นโปรเจ็กต์ NPM ของ React การสร้างส่วนหน้าต้องการหน่วยความจำอย่างน้อย 2GB หากมีหน่วยความจำน้อยกว่า 2GB อาจทำให้การสร้างส่วนหน้าล้มเหลว
หากคุณต้องการเพียงแค่รันภาพที่สร้างไว้ล่วงหน้า โปรดตรวจสอบว่าเครื่องของคุณมีหน่วยความจำอย่างน้อย 100MB
ระบบปฏิบัติการ
ระบบปฏิบัติการทั้งหมด (Linux, Windows และ macOS) ได้รับการสนับสนุน
Docker
คุณสามารถใช้ Docker (docker-engine เวอร์ชัน >= 17.05) ใน Linux หรือ Docker Desktop ใน Windows และ macOS
ไม่ว่าจะเป็นระบบปฏิบัติการใด ผู้ใช้ต้องตรวจสอบว่าพวกเขามี docker-engine เวอร์ชัน >= 17.05 นี่เป็นเพราะเราใช้คุณสมบัติการสร้างหลายขั้นตอนใน docker-compose.yml ซึ่งได้รับการสนับสนุนในเวอร์ชัน 17.05 และสูงกว่า สำหรับข้อมูลเพิ่มเติม ดูที่ https://docs.docker.com/develop/develop-images/multistage-build/
หากคุณยังใช้ docker-compose โปรดตรวจสอบว่าคุณมี docker-compose เวอร์ชัน >= 2.2 สำหรับผู้ใช้ Linux คุณยังต้องตรวจสอบว่า docker-compose ได้รับการติดตั้ง เนื่องจากมันแยกจาก docker-engine
รับภาพ
เราได้จัดเตรียมภาพ DockerHub สองภาพ:
ชื่อ | คำอธิบาย | ข้อเสนอแนะ |
---|---|---|
casdoor-all-in-one | Casdoor และฐานข้อมูล MySQL ถูกรวมอยู่ในภาพ | ภาพนี้รวมฐานข้อมูลของของเล่นแล้วและเพื่อวัตถุประสงค์ในการทดสอบเท่านั้น |
casdoor | เฉพาะ Casdoor ถูกรวมอยู่ในภาพ | ภาพนี้สามารถเชื่อมต่อกับฐานข้อมูลของคุณเองและใช้ในสภาพแวดล้อมการผลิต |
- casbin/casdoor-all-in-one: ภาพนี้รวมถึงไบนารี casdoor, ฐานข้อมูล MySQL และการกำหนดค่าที่จำเป็นทั้งหมด ออกแบบมาสำหรับผู้ใช้ใหม่ที่ต้องการลองใช้ Casdoor อย่างรวดเร็ว ด้วยภาพนี้ คุณสามารถเริ่มต้น Casdoor ได้ทันทีด้วยคำสั่งเพียงหนึ่งหรือสองคำสั่ง โดยไม่ต้องมีการกำหนดค่าที่ซับซ้อน อย่างไรก็ตาม โปรดทราบว่าเรา ไม่แนะนำ ให้ใช้ภาพนี้ในสภาพแวดล้อมการผลิต
ตัวเลือกที่ 1: ใช้ฐานข้อมูลของของเล่น
รันคอนเทนเนอร์โดยเปิดพอร์ต 8000
ให้กับโฮสต์ ภาพจะถูกดึงมาโดยอัตโนมัติหากไม่มีอยู่ในโฮสต์ท้องถิ่น
docker run -p 8000:8000 casbin/casdoor-all-in-one
เยี่ยมชม http://localhost:8000 ในเบราว์เซอร์ของคุณ เข้าสู่ระบบแดชบอร์ด Casdoor ด้วยบัญชีผู้ดูแลระบบทั่วโลกเริ่มต้น: built-in/admin
admin
123
ตัวเลือกที่ 2: ลองใช้โดยตรงกับภาพมาตรฐาน
หากไม่สะดวกในการติดตั้งไฟล์การกำหนดค่าไปยังคอนเทนเนอร์ การใช้ตัวแปรสภาพแวดล้อมก็เป็นทางเลือกที่เป็นไปได้
docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-p 8000:8000 \
casbin/casdoor:latest
สร้าง conf/app.conf
คุณสามารถคัดลอกมันจาก conf/app.conf ใน Casdoor สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ app.conf
คุณสามารถดูได้ที่ ผ่านไฟล์ Ini
จากนั้นรัน
docker run -p 8000:8000 -v /folder/of/app.conf:/conf casbin/casdoor:latest
อย่างไรก็ตาม แค่ ติดตั้ง app.conf ไปที่ /conf/app.conf และเริ่มต้นคอนเทนเนอร์
เยี่ยมชม http://localhost:8000 ในเบราว์เซอร์ของคุณ เข้าสู่ระบบแดชบอร์ด Casdoor ด้วยบัญชีผู้ดูแลระบบทั่วโลกเริ่มต้น: built-in/admin
admin
123
ตัวเลือกที่ 3: ลองใช้กับ docker-compose
สร้างไดเรกทอรี conf/app.conf
ในระดับไดเรกทอรีเดียวกันกับไฟล์ docker-compose.yml
จากนั้น คัดลอก app.conf จาก Casdoor สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ app.conf
คุณสามารถดูได้ที่ ผ่านไฟล์ Ini
สร้างฐานข้อมูลแยกต่างหากโดยใช้ docker-compose:
docker-compose up
นั่นคือทั้งหมด! 🛩️
เยี่ยมชม http://localhost:8000 ในเบราว์เซอร์ของคุณ เข้าสู่ระบบแดชบอร์ด Casdoor ด้วยบัญชีผู้ดูแลระบบทั่วโลกเริ่มต้น: built-in/admin
admin
123
หากคุณศึกษาไฟล์ docker-compose.yml ลึกลงไป คุณอาจสงสัยเกี่ยวกับตัวแปรสภาพแวดล้อมที่เราสร้างขึ้นชื่อว่า "RUNNING_IN_DOCKER" เมื่อฐานข้อมูล 'db' ถูกสร้างผ่าน docker-compose มันจะสามารถเข้าถึงได้จาก localhost ของพีซีของคุณ แต่ไม่ใช่ localhost ของคอนเทนเนอร์ Casdoor เพื่อป้องกันคุณจากปัญหาที่เกิดจากการแก้ไข app.conf ซึ่งอาจทำให้ผู้ใช้ใหม่รู้สึกยาก พวกเราได้จัดเตรียมตัวแปรสภาพแวดล้อมนี้และกำหนดค่าล่วงหน้าใน docker-compose.yml เมื่อตัวแปรสภาพแวดล้อมนี้ถูกตั้งค่าเป็น true localhost จะถูกแทนที่ด้วย host.docker.internal เพื่อให้ Casdoor สามารถเข้าถึงฐานข้อมูลได้