2017-05-29 13 views
7

私はOpenEdxで作品のために自分のdevstackを作っています。edxops/forumsの正しい方法を引き戻す

私は公式devstackリポジトリをedxから取得しました。私はそれを変更しています。

forumsを私のスタックに追加しようとしていますが、ドッカーが作成してから実行できません。

私はcomposerファイルにこれを追加しました:

studio: 
    command: bash -c 'source /edx/app/edxapp/edxapp_env && python /edx/app/edxapp/edx-platform/manage.py cms runserver 0.0.0.0:18010 --settings devstack_docker' 

これは、スタジオのためのコマンドです:私は、実行中に正しいコマンドをWICHについて混乱しています

forums: 
    command: bash -c 'source /edx/app/forum/cs_comments_service_env && ruby app.rb -p 18080' 
    container_name: edx.devstack.forums 
    depends_on: 
     # - xqueue:xqueue 
     - mongo 
     - elasticsearch 
     # - rabbitmq:rabbitmq 
     - mysql 
     - memcached 
    environment: 
     CACHE_LOCATION: edx.devstack.memcached:12211 
     DB_HOST: edx.devstack.mysql 
     TEST_ELASTICSEARCH_URL: "http://edx.devstack.elasticsearch:9200" 
    image: edxops/forums:latest 
    ports: 
     - 4567:4567 

forums: 
    command: bash -c 'source /edx/app/forum/cs_comments_service_env && ruby app.rb -p 18080' 

私はこれで試しましたが、フォルダが存在しません。

だから私が試した:command: bash -c 'ruby app.rb -p 18080'が、私はこのエラーを取得:だから

edx.devstack.forums | bash: ruby: command not found 
edx.devstack.forums exited with code 127 

、私はforums画像について、私は正常に動作するためにそれを提供する方法について困惑しています。

誰でも手伝ってもらえますか? - どのように提供するのですか? - どのように実行してください(コマンド)?

UPDATE:

私は新しい設定があります。

forums: 
    command: bash -c 'cd /edx/app/forum/cs_comments_service && exec /edx/app/forum/cs_comments_service/bin/unicorn -c config/unicorn_tcp.rb' 
    container_name: edx.devstack.forums 
    depends_on: 
     # - xqueue:xqueue 
     - mongo 
     - elasticsearch 
     # - rabbitmq:rabbitmq 
     - mysql 
     - memcached 
    environment: 
     CACHE_LOCATION: edx.devstack.memcached:12211 
     DB_HOST: edx.devstack.mysql 
     SEARCH_SERVER: "http://edx.devstack.elasticsearch:9200" 
     TEST_ELASTICSEARCH_URL: "http://edx.devstack.elasticsearch:9200" 
     MONGOHQ_URL: "mongodb://cs_comments_service:[email protected]:27017/cs_comments_service" 
     GEM_PATH: "/edx/app/forum/.gem" 
     GEM_HOME: "/edx/app/forum/.gem" 
     RBENV_ROOT: "/edx/app/forum/.rbenv" 
    image: edxops/forum:latest 
    ports: 
     - 4567:4567 

を私はまだこの問題を持っている:

docker-compose logs -f --tail=500 | grep edx.devstack.forums 
Attaching to edx.devstack.forums, edx.devstack.chrome, edx.devstack.firefox, edx.devstack.credentials, edx.devstack.discovery, edx.devstack.elasticsearch, edx.devstack.ecommerce, edx.devstack.studio, edx.devstack.lms, edx.devstack.memcached, edx.devstack.mysql, edx.devstack.mongo 
edx.devstack.forums | /usr/bin/env: ‘ruby’: No such file or directory 

しかし、なぜですか?

答えて

4

私はイメージを調べ、コンテナの実行に役立つような詳細を見つけました。

  • Supervisord:私は以下のように私の調査結果を下に一覧表示されますSupervisordは、コンテナ内のプロセスを実行するために使用されてきました。コンテナは1つのプロセスだけを実行していますが、ここでプロセスマネージャを使用する目的はありません。したがって、画像のローカルコピーを作成している場合は、それを取り除くだけです。しかし、今のところそれを残して、私が提供しているCMDは、コンテナ内のプロセスを起動する正しい方法です。

  • スタートアップ:ドッキングウィンドウの画像のCMDあたりとして起動シーケンスは次のとおりです。

    起動スクリプトが担当/edx/app/forum/forum-supervisor.shある
    docker run => supervisord => launch script 
    

    /edx/app/forum/forum_envから

    1. 読み込んで環境変数。
    2. ディレクトリを/edx/app/forum/cs_comments_serviceに切り替える。
    3. unicornサーバーを起動しています。

また、ルビーは、次のようにカスタムパスにインストールされています:

[email protected]:/edx/app# which ruby 
    /edx/app/forum/.rbenv/shims/ruby 

ように環境変数は、それを使用するためにロードする必要があります。起動時にロードされる環境変数には、次のものがあります。

export LISTEN_HOST="0.0.0.0" 
export NEW_RELIC_APP_NAME="default_env-default_deployment-forum" 
export DATA_DIR="/edx/var/forum" 
export LISTEN_PORT="4567" 
export MONGOHQ_URL="mongodb://cs_comments_service:[email protected]:27017/cs_comments_service" 
export GEM_PATH="/edx/app/forum/.gem" 
export RACK_ENV="staging" 
export WORKER_PROCESSES="4" 
export NEW_RELIC_ENABLE="False" 
export SINATRA_ENV="staging" 
export SEARCH_SERVER="http://es.edx:9200" 
export PATH="/edx/app/forum/cs_comments_service/bin:/edx/app/forum/.rbenv/bin:/edx/app/forum/.rbenv/shims:/edx/app/forum/.gem/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 
export API_KEY="password" 
export HOME="/edx/app/forum" 
export GEM_HOME="/edx/app/forum/.gem" 
export RBENV_ROOT="/edx/app/forum/.rbenv" 

この情報を使用すると、必要な構成でイメージを実行できます。

たとえば、environmentセクションに設定に応じて変数のリストを設定します。これらの変数はすべてファイルymlに設定する必要があります。あなたはすべてのこれらの変数があなたのためだけにそれを行うか、これらの設定に結婚されるデフォルトコマンドで起動するカスタムスクリプトを記述書き込まないようにしたい場合は、一度に行わcommand

bash -c 'cd /edx/app/forum/cs_comments_service && exec /edx/app/forum/cs_comments_service/bin/unicorn -c config/unicorn_tcp.rb' 

でなければなりません。

関連する問題