フルスタックエンジニアが教える即戦力Railsエンジニア養成講座 @Udemy 学習記録: docker/docker-composeコマンドの使い方

課題

rubyも知らないのに、仕事でrails使うことになりました。やばい。

解決策

rubyもrailsもど素人な自分を助けてもらおうと、今回もudemyにお世話になってます。

フルスタックエンジニアが教える 即戦力Railsエンジニア養成講座

個人的にはフルスタックというワードが既に死語ではないかと感じていたりするんですが、内容はとても良いです。ruby自体素人の自分にとっては、rubyのシンタックス解説が最小限含まれてるのは有難い‥。知っている人にとっては冗長だと思いますが、そんときは飛ばせば良いだけですし。

後でもう少し整理するのだけど、以下メモ書き。rubyだけでなくdockerも素人ということがこのメモ書きからバレてしまうけど。

docker exec

railsアプリを動かすためのdockerコンテナを起動した後、

起動したコンテナに後からbashログインしたいことが度々ある。そもそも仮想マシンコンテナ内部がどんな構成になってんのか覗いてみたいと思いますよね(大体普通にFHSに則ったdirectory treeを眺めるだけですが)。

とりあえず以下コマンドで、起動済みコンテナの一覧を得る。webとdbのコンテナが起動していることが分かる。

ちょっとdbコンテナのmysqlにログインしてテーブルの中身を覗いて見たい‥と思ったときには以下コマンドで、コンテナにbashログインした後、普通にmysqlを叩く。

describeとかしてみると、ちゃんとrailsのORマッパーが働いてくれそうな気配を感じることができる。

コンテナ起動後にrailsコンソールを叩くこともできる。

docker attach

起動済みコンテナに後からattachすることもできる。

以下コマンドで起動済みコンテナの一覧を得た後、

attachしてみる。

作成中のrailsアプリで何か叩くと反応する。

docker attachしたコンテナから安全に抜ける

困ったのがこれ。attachした後、そのコンテナから抜けたいだけなのに、CTRL-cとかするとコンテナ自体が死んでしまう。

上は、attachしたrails_web_1コンテナから抜けたかっただけなのに殺してしまった図。

dockerのヘルプを見ると、仕様通りの動作みたい。コンテナに対してSIGKILL送っちゃうんだからそりゃ死ぬよね。

To stop a container, use CTRL-c. This key sequence sends SIGKILL to the container. If --sig-proxy is true (the default),CTRL-c sends a SIGINT to the container.

もちろん、コンテナを殺さずに抜ける方法も用意されてる。

You can detach from a container and leave it running using theCTRL-p CTRL-q key sequence.

試してみよう。rails_web_1コンテナにattachした後、CTRL-p CTRL-qを入力する。

ちゃんとrails_web_1コンテナが生きてる。やった。

まとめ

シンタックスが嫌いだからと避けていたruby。

いつ何時必要になるか分からないので、喰わず嫌いせずに少しずつでも勉強してれば良かったな。

という反省から、同時進行でGoもやってたりします。きつい。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする