LoginSignup
4
1

More than 3 years have passed since last update.

Docker&Railsの環境構築をしようとしたらはまった話

Last updated at Posted at 2019-12-03

はじめに

私は、Arch Linuxをインストールして1カ月くらい経つぐらいの人です。Arch Linuxの知識ほぼないです:sweat: Dockerについても今回初めてやるので、全く知識がない状態の人がDockerやってみたので、おかしいところが少々あるかもしれないので、よろしくお願いします。

私が開発した環境

種類 version
使用OS Arch Linux
Docker 19.03.4
Ruby 2.5.7
Rails 5.2.3
rbenv 1.1.2

実現したかったこと

ローカル上のRuby,RailsのバージョンをDockerコンテナの中のバージョンと揃えて、開発をすること。

試してみたこと

  • rbenvを使って、Rubyのバージョンを切り替える。
    • バージョンを変えても適用されないなどと、環境がおかしくなり、断念しました。
  • dockerコンテナの中で、開発をすべて行う(?)
    • railsコマンドを書き換えてdockerコンテナのバージョンで作成するように書き換えたら、うまくできました。

私なりに、やって正解だったことをまとめます。

やったこと

rails コマンドをそのまま打ち込むとローカルのRuby,Railsのバージョンが適用されてしまうため、頭にかならず,docker-compose run web とつけるとDockerコンテナ内のバージョンが適用されるので、バージョンのエラーなどが起きなくなり、正常に作成できます。

注意すること

また、何回も同じポート番号を指定してしまうと、重複エラーが出るので、ポート番号に気を付けましょう!間違えた場合は、
docker psコマンドで、今動いてるコンテナを確認して、docker stop コンテナ名(または、$(docker ps)) コンテナを止めてあげないと、削除することができないので、気を付けます。止めた後、docker rm コンテナ名 でコンテナを削除しましょう。また全削除したい場合はコンテナ名$(docker ps -a) とすると今あるコンテナをすべて削除することができます。

最後に

rbenvを駆使してバージョン問題に取り組むことも重要ですが、
コンテナ技術をつかえば違う選択肢もあるのかな、と感じました。
dockerコンテナわかると、消したり作ったりするの楽しくなるんでよかったら、やってみてください!

参考
DockerでRailsの環境構築してHerokuへデプロイする

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1