2014-12-21 1 views
0

내가 그림을 사용하여 어떠한 데이터베이스와 Dockerized시나 응용 프로그램을 실행하기 위해 노력하고있어,하지만 난이 오류가 계속 : 여기

$ fig up 
Recreating my_web_1... 
Cannot start container 93f4a091bd6387bd28d8afb8636d2b14623a08d259fba383e8771fee811061a3: exec: "bundle": executable file not found in $PATH 

을 Dockerfile

FROM ubuntu-nginx 

MAINTAINER Ben Bithacker [email protected] 

COPY Gemfile /app/Gemfile 
COPY Gemfile.lock /app/Gemfile.lock 

WORKDIR /app 

RUN ["/bin/bash", "-l", "-c", "bundle install"] 

ADD config/container/start-server.sh /usr/bin/start-server 
RUN chmod +x /usr/bin/start-server 

ADD . /app 

EXPOSE 9292 

CMD ["/usr/bin/start-server"] 

는 config/용기/start-server.sh는 fig.yml이 모양이

#!/bin/bash 
cd /app 
source /etc/profile.d/rvm.sh 
bundle exec rackup config.ru 

모양입니다 :

web: 
build: . 
command: bundle exec rackup config.ru 
volumes: 
    - .:/app 
ports: 
    - "3000:3000" 
    environment: 
    - SOME_VAR=adsfasdfgasdfdfd 
    - SOME_VAR2=ba2gezcjsdhwzhlz24zurg5ira 

답변

1

이 설정에는 몇 가지 문제가 있다고 생각합니다. 번들러는 어디에 설치되어 있습니까? 일반적으로 당신은 apt-get install ruby-bundler이 될 것이고 그것은 항상 당신의 길 위에있을 것입니다.

귀하의 즉각적인 문제는 의 command이 이고, fig.yml 인 것입니다. 내가 가정하고 (start-server.sh의 내용을 기반으로) 당신이 경로를 설정해야합니까? fig.yml에서 command 행을 삭제해야합니다.

volumes: .:/appfig.yml 인 컨테이너의 /app 디렉토리도 무시하고 있습니다. 또한 해당 행을 제거하려고합니다.