ナニコレ
この記事は Ubiregi Advent Calendar 2020 23日目のエントリです。
この投稿(12/27)からもう4日も過ぎているんですが、どうしても備忘録として残しておきたいという自分勝手な気持ちが強かったので、しれっと書きましたw
おそらく何万人という方がやられているDocker tutorialをやって、Dockerというのは
なんなのかというのを知りたい & 自分のポートフォリオにも使ってみたいという気持ちで臨みました。
参考文献
Docker tutorialは英文だったので、本当は原文読んで理解したかったのですが、途中で挫折しそうな気がしたので、@Michinosukeさんの和訳記事を元に進めました。圧倒的感謝
https://qiita.com/Michinosuke/items/5778e0d9e9c04038903c#docker%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97
チュートリアルを進めていく中でどうしてもわからない単語などは都度ググって調べました。
チュートリアルメモ
ここからはちょっと雑ですが、自分が理解したことやチュートリアルに記載されていて大事だなと思うところを抜き取ったメモになります。理解がおかしいところもあると思うので、ご指摘ください!
Dockerとは?
PCの上で別のOSを起動することができる。コンテナが別のOSを起動する為の容器。
自分の中ではそんなイメージです。
tutorialではnode.jsを起動したりしていました。
Dockerを使うと何が嬉しいんだろうか?
・様々なコンテナを起動し、本番環境と同じように開発環境を作れば、「開発環境ではできるのに本番環境だとできないのはなぜ・・・」みたいなシーンが無くなりそう?
・ひとり開発だと恩恵があまり無いかもだが、チーム開発であれば一つのDocker composeを利用すれば同じ環境があら不思議!すぐに環境構築ができちゃう!みたいな恩恵がある?
tutorialで苦労したポイント
・実体験はできるんだけど、コマンドの意味がわからなさ過ぎて途中で細かく調べることはやめました。
きちんと意味を理解しながら進めろよ!と言われそうな気もしますが、チュートリアルの目的はあくまでもDockerとはこういうものだ!と理解することだと思うので。
・コマンドはこのディレクトリで叩いてね!みたいに親切設計では無いので、チュートリアル通りに実行してもエラーが出たことがありました。ググったら解決しましたが。
・ボリュームがすごい。頑張って休日を1日使えば終わらせることも可能だと思います。7~8時間ぐらいかな。
・話が抽象的なので、内容を理解するのが本当に大変。Dockerは奥が深い・・・
・ネームドボリュームって実際使うんですかね?バインドマウントはすごく使いそうなのはなんとなくわかりましたけど。
今後どうしていくか
・チュートリアルは概要を知るもの。実戦向きではないと思うので、入門書やudemyなどで講座を受けたりするのがいいのかなあと思いました。
・一番手取り早いのは、ポートフォリオにさっさと導入してしまうことかなと。
・コンテナデプロイ?をやってみたい。めちゃ難しそうだけど!