(선택 사항) Docker로 시도해 보세요
요구 사항
하드웨어
Docker 이미지를 직접 빌드하려면, 기계에 최소한 2GB의 메모리가 있는지 확인하십시오. Casdoor의 프론트엔드는 React의 NPM 프로젝트입니다. 프론트엔드를 빌드하려면 최소한 2GB의 메모리가 필요합니다. 2GB 미만의 메모리가 있으면 프론트엔드 빌드에 실패할 수 있습니다.
미리 빌드된 이미지만 실행할 필요가 있다면, 기계에 최소한 100MB의 메모리가 있는지 확인하십시오.
운영 체제
모든 운영 체제 (리눅스, 윈도우, 맥OS)가 지원됩니다.
Docker
리눅스에서는 Docker (docker-engine 버전 >= 17.05)를, 윈도우와 맥OS에서는 Docker Desktop을 사용할 수 있습니다.
운영 체제에 관계없이 사용자는 docker-engine 버전 >= 17.05를 가지고 있는지 확인해야 합니다. 이는 우리가 docker-compose.yml에서 다단계 빌드 기능을 활용하기 때문이며, 이 기능은 17.05 버전 이상에서 지원됩니다. 자세한 정보는 https://docs.docker.com/develop/develop-images/multistage-build/를 참조하십시오.
docker-compose를 사용하는 경우에도 docker-compose 버전 >= 2.2를 가지고 있는지 확인해야 합니다. 리눅스 사용자의 경우, 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을 방문하세요. 기본 글로벌 관리자 계정인 built-in/admin
으로 Casdoor 대시보드에 로그인하세요.
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
를 생성합니다. Casdoor의 conf/app.conf에서 복사할 수 있습니다. app.conf
에 대한 자세한 내용은 Via Ini file에서 확인할 수 있습니다.
그런 다음 실행
docker run -p 8000:8000 -v /folder/of/app.conf:/conf casbin/casdoor:latest
어쨌든, 단지 app.conf를 /conf/app.conf에 마운트하고 컨테이너를 시작하세요.
브라우저에서 http://localhost:8000을 방문하세요. 기본 글로벌 관리자 계정인 built-in/admin
으로 Casdoor 대시보드에 로그인하세요.
admin
123
옵션-3: docker-compose로 시도해 보세요
docker-compose.yml
파일과 같은 디렉토리 레벨에 conf/app.conf
디렉토리를 생성합니다. 그런 다음, Casdoor에서 app.conf를 복사합니다. app.conf
에 대한 자세한 내용은 Via Ini file에서 확인할 수 있습니다.
docker-compose를 사용하여 별도의 데이터베이스를 생성합니다:
docker-compose up
그게 다야! 🛩️
브라우저에서 http://localhost:8000을 방문하세요. 기본 글로벌 관리자 계정인 built-in/admin
으로 Casdoor 대시보드에 로그인하세요.
admin
123
docker-compose.yml 파일을 더 깊게 파헤치면, 우리가 생성한 'RUNNING_IN_DOCKER'라는 환경 변수에 대해 혼란스러울 수 있습니다. 데이터베이스 'db'가 docker-compose를 통해 생성되면, 이는 PC의 로컬호스트에서는 사용할 수 있지만 Casdoor 컨테이너의 로컬호스트에서는 사용할 수 없습니다. 새로운 사용자에게는 상당히 어려울 수 있는 app.conf를 수정함으로써 발생하는 문제를 방지하기 위해, 우리는 이 환경 변수를 제공하고 docker-compose.yml에서 미리 할당했습니다. 이 환경 변수가 true로 설정되면, localhost는 host.docker.internal로 대체되어 Casdoor가 데이터베이스에 액세스할 수 있습니다.