[Cloud9]DockerでRails開発をするときに最初にやること

備忘録。
Dockerfileやdocker-compose.ymlは事前にあるリポジトリをクローンして使う前提での環境整備の部分。

共通編

AWS Cloud9は、Dockerインストール済みなので、docker-composeのインストールが必要。また、lambda開発用?のイメージが最初からダウンロードされているので、削除する。

#bash コピペで使える。docker-composeのバージョンだけは適宜変更

docker rmi -f `docker images -q`
sudo yum update -y
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

エディタ編

タブ入力時のスペースが初期値が4なので、2にする。

Preferences > Project Settings > Code Editor (Ace) > Soft Tabs : 2

もしくは、

.c9 > project.settings に下記を追加

{    
  "ace": {
    "@tabSize": 2
  }
}

Git編

#bash 必要事項を埋めて利用

git config --global user.email [メールアドレス]
git config --global user.name [ユーザー名]
git config --global user.password [パスワード]
git clone [クローン先のURL]

パスワード設定は、Httpsだと設定されていてもclone, pushなどのリモート接続時にパスワードが求められてしまうので省略できないが、GithubのPersonal access tokenを使っている場合、覚えられないので保存用に利用している。パスワードを求められたら、別タブでターミナルを開いて $ git config user.parssword で表示して、コピペする。emailも同様にできる(覚えているのでコピペしないけど)。

Personal access tokenは、Githubからでも確認できないので、忘れてしまったら再発行する必要がある。かといって記憶してないし、再発行も面倒(変更すると別の環境も変更しないと認証エラーになる)なので、別のCloud9に保存してあるものをコピペしている。

クローンするときのプロトコルは、https。理由は、Githubが推奨していることと、捨てやすく実験環境で作成・破棄を繰り返すためsshの設定を毎回するのは面倒ということ。

docker-compose編

この部分はRailsの環境に依存するので、参考程度に。

rails sのポート指定と、ポートのバインドを変更する。3000だとアクセスできなかったので。

# docker-compose.yml 一部抜粋
app:
  ports:
      - '8081:8080'
  command: bundle exec rails s -p 8080 -b 0.0.0.0

その他

Cloud9内のタブを閉じる際のキーバインドについて、command + w で閉じるようにしたかったが、ブラウザで設定されているものはブラウザ優先のため設定できない。なので、デフォルトの option + w をそのまま利用する。おそらくブラウザの設定を変更すればCloud9で設定できるようになるはずだが、ブラウザの挙動変える方が不便なので変更しない。

コメント