Windows8.1でDockerでRails4+postgresqlで開発環境
なんとかWindowsでDocker使ってRails開発環境を整えたかった。理由はない!
Rails4開発環境としては、
(1)Cloud9
(2)Vagrant
(3)Docker
オンラインでは(1)が一番!オフラインでは(2)が一番だと思う。でも、(3)を試してみたい!
Dockerの本も1冊読んでみて、いろいろググッたが、Dockerを使っている人は、プロ?が多く、Quiitaの書き込みも、省略しまくりなのが多く、私にはきつい。
docker-compose で Rails の開発環境を作る
skyriserが2015/05/08に投稿(2015/05/09に編集)
http://qiita.com/skyriser/items/2cf98b747ed6577cc5ee
上記をそのままやってみても、無理。無理だということが分かるようになるまで数日かかった。
docker-composeでRails4の開発をする流れ
tukiyo3が2015/09/07に投稿(2015/09/07に編集)
http://qiita.com/tukiyo3/items/4d107d7a4db1b97b5ae8
これも、Macや、WindowsにRailsが入っていないと最初のところで無理。
——————–
dockerをつかってrailsの開発をしてみる
eielhが2015/01/27にKobitoから投稿(2015/01/28に編集)
http://qiita.com/eielh/items/754c1f785e66e3c4cee0
——————–
を参考にがんばってみたいと思う。
上記はMacなので、Winodowsでは、
[sourcecode language='ruby' padlinenumbers='true'] docker run --rm -it -v /c/Users/(ユーザ名)/docker3:/usr/src/app -w /usr/src/app rails rails new hello -d postgresql [/sourcecode]
とするのかな?「(ユーザ名)」のところは、ユーザ名が taro であれば、
[sourcecode language='ruby' padlinenumbers='true'] docker run --rm -it -v /c/Users/taro/docker3:/usr/src/app -w /usr/src/app rails rails new hello -d postgresql [/sourcecode]
となる。
自動的に、c/Users/(ユーザ名)/docker3/ フォルダの中に、hello フォルダが作成された。
に記載の通りに。
docker run -d --name hello-db postgres
●hello フォルダに、Dockerfileを作成
をコピー
(引用ここから)
——————————
[sourcecode language='ruby' ] FROM rails:onbuild ENV DB_USER postgres ENV DB_PASSWORD password ENV DB_NAME hello ENV DB_ADAPTER postgres ENV DATABASE_URL ${DB_ADAPTER}://${DB_USER}:${DB_PASSWORD}@db/${DB_NAME} [/sourcecode]
——————————
(引用ここまで)
Dockerfileを上記のように作成してから、helloフォルダに移動して、
docker build -t hello .
●rails serverの起動
http://qiita.com/eielh/items/754c1f785e66e3c4cee0#rails-server%E3%81%AE%E8%B5%B7%E5%8B%95
の通りにやってみる。
docker run –rm -it -p 3000:3000 -v /c/Users/(ユーザ名)/docker3:/usr/src/app –link hello-db:db hello bash
「(ユーザ名)」のところは、ユーザ名が taro であれば、
[sourcecode language='ruby' ] docker run --rm -it -p 3000:3000 -v /c/Users/taro/docker3:/usr/src/app --link hello-db:db hello bash bin/rake db:create db:migrate bin/rails s -b 0.0.0.0 [/sourcecode]
ホストOSから、
にアクセスすると、Rails4のいつもの画面が出てきた。
やっとお望みのことができた!
ファイルは、ホストOS(Windows)の、ファイルを操作すればよい。試しにやってみる。
config/routes.rb
app/controllers/applicaation_controller.rb
ホストOSで、ブラウザを更新すると、
お、これは便利かも!
(1)Gemfileの変更や、
(2)データベースの保存
はどのようにしたらよいのかな?まだもう少し工夫しなければいけなさそう。
————————
<一度パソコンをシャットダウンして、再度、途中から始めたいとき>
(1)Docker Quickstart Terminal を起動
(2)
[sourcecode language='ruby' padlinenumbers='true'] docker start hello-db docker run --rm -it -p 3000:3000 -v /c/Users/(ユーザ名)/docker3:/usr/src/app --link hello-db:db hello bash cd hello bin/rake db:create db:migrate bin/rails s -b 0.0.0.0 [/sourcecode]
(3)ホストOSのブラウザで、
にアクセス。
最初のDocker Quickstart Terminal起動時間を考えると、やはり、Vagrantよりは遅いような気がする、、、Dockerのメリットとしては、
●(一度、環境構築してしまえば、(これが、私にはとても、とても難しかった))Vagrantよりも安定している気がする。
●Vagrantよりも、ファイル共有がしやすいかも?
<終了するとき>
docker-machine stop default
(参考)
DockerToolboxで作るWindows用開発環境の構築
stbmp23が2016/02/02に投稿(2016/02/02に編集)
http://qiita.com/stbmp23/items/ea23f32d04882c2c46d9
Dockerにホストのフォルダをマウントしたい!
dojinekoが2015/10/11に投稿(2015/10/11に編集)
http://qiita.com/dojineko/items/f623894ef2436bef890e
●Docker Quickstart Terminalは、docker-machineを用いているとのこと
docker-machineコマンド
maemoriが2015/09/21に投稿(2015/09/21に編集)