2017-01-13 6 views
1

私はRuby on RailsとDockerを試しています。thisチュートリアルの後です。 ビルドプロジェクトセクションでは、それは足場が直後ドッカーとファイル所有権を持つRailsスキャフォールディング

docker-compose run web rails new . --force --database=postgresql --skip-bundle 

で実行しているRailsは見ることができます:ドッカーがルートとしてそれらを作成するため、

sudo chown -R $USER:$USER . 

は、生成されたファイルへのアクセスを取得するには

どのように毎回アクセス許可を変更する必要はありませんか?のは、私が使用して単純な移行ファイルを作成したいとしましょう:

docker-compose run web rails g migration create_users 

このようなすべての簡単なコマンドの後に所有権を変更するために非現実的と思われるが、すべてのチュートリアル/ソースに私はそれについて誰も会談を見つけました。

答えて

1

私は同じ問題をexepriencedして、私の主な問題はsublime-textはrootが所有するファイルを編集できませんでした。だから、私の解決策は、すべてのプロジェクトファイルを快適に編集できるように、sublime-textをrootとして使用することでした。これを行うには、シェルで実行してください:

gksu subl 

それは私の問題を解決しました。あなたがそれを解決することを願っています。

[OK]を更新

。 RubyのエディタやIDEに依存しないソリューションが見つかりました。あなたが必要とするのは、あなたの現在のubuntuユーザーをdocker usersグループに追加することです.Dockerコマンドをrootではなくユーザーとして実行できます。

まず、ドッカーグループが存在しない場合は追加する必要があります(ただし、現在存在しているはずです)。あなたのシェルでグループ

sudo gpasswd -a ${USER} docker 

再起動しドッカデーモン

sudo service docker restart 

または

sudo service docker.io restart 
をドッカーためにあなたの現在のユーザーを追加

sudo groupadd docker 

を実行します

(ご使用のシステムによって異なります)

ユーザーグループの変更を有効にします。どちらかそれを行うLOG OUT/LOG INまたは自分の殻に

newgrp docker 

が続いて今すぐあなたのdockerfile

USER <your_user_name> 

または

USER <your_user_id> 

の終わりにあなたを追加実行するに

のようなコマンドを実行できます
docker-compose run web rails g migration SomeMigration 

sudoではなく、現在のユーザーです。

このコマンドで作成されたファイルは、現在のユーザーが所有していません。rootです。

+0

私はRubyMineを使用していますが、やはりいい考えですが、私はそれについて考えませんでした。 –

+0

自分のプロジェクトで、RubyエディタやIDEに依存しない代替ソリューションを見つけてテストしました。それを試してください、それがあなたを助けるなら私の答えを受け入れることを忘れないでください。 – VAD

関連する問題