2016-07-05 3 views
0

며칠 동안이 문제로 고생하고 있으며 mongo 셸로 인증 할 수 있습니다.Dokku, RoR 및 Mongo DB : 허가받지 않은 db 명령 실행 권한이

하지만 브라우저에서 응용 프로그램에 액세스 할 때 위와 같은 오류가 발생합니다. 레일 로그에

루비 :

2016-07-05T04 : 29 : 34.415943099Z 응용 프로그램 [web.1] : MongoDB를 | xx.xx.xx.xx : 4121 | [db] .count | 시작한 | { "count"=> "listing", "query"=> {}}

2016-07-05T04 : 29 : 34.418337913Z app [web.1] : MONGODB | xx.xx.xx.xx : 4121 | [db] .count | FAILED | [db]에서 명령을 실행할 권한이 없습니다. { count : "listings", query : {}} (13) | 0.0021065790000000004s

배경 도쿠의 원 클릭 배포로 디지털 오션에서 호스팅.

Dokku 버전 : 0.6.4 하여 MongoDB : 3.2.6 루비 : 2.2.4 레일 4.2.6

나는 MongoDB를에 (DbOwner 포함) 사용자와 mongoid.yml 동일한를 추가했습니다.

여기 mongoid.yml

production: 
    clients: 
    default: 
     database: sample 
     hosts: 
     - ip:4121 
     user: "user" 
     password: "password" 
     options: 
     read: 
      mode: :primary 
     max_pool_size: 5 

답변

0

확인. 나는 이것에 대한 해결책을 찾았고 이것에 대한 반복문을 닫고 이것을 알아 내려고 노력하는 데 몇 시간/일을 절약 할 것이라고 생각했다.

기본적으로 디지털 바다에서 한 번의 클릭으로 DOES가 작동합니다!

하지만 mongoid.yml에서 다음을 필요로하며, URI를 추가하고 데이터베이스, 사용자 및 암호를 제거하십시오.

는 당신의 SSH 터미널 콘솔에서 다음을 수행 URI를 생성하려면 :

dokku mongo:info <<db name>> 

업데이트 화면에 표시 있었는지와 URI 값.

production: 
    clients: 
    default: 
     uri: <<URI>> 
     options: 
     read: 
      mode: :primary 
     max_pool_size: 1 
0

이 방법으로 문제가 해결되는지 모르겠어요,하지만 조언의 일반적인 조각, dokku 클릭 한 번 배포하지 않습니다됩니다. 드롭 릿을 위로 돌리고 수동으로 도크를 설치하면 너무 많은 노력을 기울이지 않습니다.

클릭 한 번으로 배포하면 원치 않는 구성 오류가 발생합니다. 당신이 어떤 RnD를하고 그것으로 놀고 싶어한다면 그 접근 방식과 함께 제안. 한 번의 클릭으로 이미지 dokku

0

아무런 문제

당신이 dokku의 MongoDB의 플러그인을 설치 한이없는, 일반적으로 모든 시간을 작동? 이미 플러그인을 instaled 당신, 당신은 YML 파일을 업로드하지 않는 경우 https://github.com/jeffutter/dokku-mongodb-plugin

, 당신은 당신의 서버

mongodb:create <app> 
mongodb:link <app> <database> 

에서 링크 명령을 실행해야하거나 같은 링크를 만들 수 있습니다 명령

mongodb:create <app> <database>  
+0

플러그인 및 연결이 이미 완료되었습니다. – lancegoh

+0

흠 .yml 파일이 필요하지 않습니까? – lancegoh