ข้ามไปยังเนื้อหาหลัก

(ไม่จำเป็น) ลองใช้กับ 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-oneCasdoor และฐานข้อมูล MySQL ถูกรวมอยู่ในภาพภาพนี้รวมฐานข้อมูลของของเล่นแล้วและเพื่อวัตถุประสงค์ในการทดสอบเท่านั้น
casdoorเฉพาะ Casdoor ถูกรวมอยู่ในภาพภาพนี้สามารถเชื่อมต่อกับฐานข้อมูลของคุณเองและใช้ในสภาพแวดล้อมการผลิต
  1. 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: ลองใช้โดยตรงกับภาพมาตรฐาน

เคล็ดลับ

หากไม่สะดวกในการติดตั้งไฟล์การกำหนดค่าไปยังคอนเทนเนอร์ การใช้ตัวแปรสภาพแวดล้อมก็เป็นทางเลือกที่เป็นไปได้

example

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 สามารถเข้าถึงฐานข้อมูลได้