Dockerの勉強手順についてです。
Dockerは基本的にはdocker-composeと一緒に使われるのと、ローカルで環境構築の際に利用したり、コンテナを使ったデプロイなどの用途で使われることが多いです。
特に実務では開発メンバー共通の環境構築をする際に多く利用されます。
Dockerのcontainerやimage、仮想化などに関して最初は大雑把にインプットを行いましょう。
読んでも基本的には理解できないので、ある程度知ったら、実際に使っていって慣れていくことが重要です。
Dockerの場合でも実際に手を動かして勉強していくことが重要です。
例)
docker-composeは複数のcontainerを管理や起動するために使いますが、基本的にdockerはdocker-composeで使うケースが非常に多いです。
一例としては、ローカル環境で、MySQL, Node.js containerを一括で管理して開発を行うなどで使えます。
ChatGPTなどに書いてもらえばコピペで一旦は作れるので、ChatGPTに出力してもらってから少し編集したり書いてある記述について調べてみるのがおすすめです。
例)
仕組みの部分に関しては基本的には大雑把に知ることが重要です。
詳しく勉強しようとしても理解できないですし、理解できたとしても、特に何か目に見える成果が出るわけではないためです。
ざっくりとインプットしたら使いながら理解を深めていくことが重要です。
いろいろなdocker imageが公開されているので、Docker Hubからdocker imageをいくつかpullしてみたりするのはおすすめです。
docker-composeでローカルでの環境構築をしたり、docker-composeを使ってcontainerをデプロイ先で起動したり、実際に試行錯誤しながら不明点を適宜調べつつ使っていくのが1番勉強になります。
他と同様に必要最低限のインプットを行ったら実際に使っていきましょう。
難しいものも含まれていますし、使わなくても問題なかったりするので、時間があれば調べて実際に使ってみましょう。
GHCRはdocker imageを管理できるサービスです。
GitHub ActionsなどのCI/CDで自動でdocker imageをpushして、デプロイ先でpullして起動するなどの使い方もできます。
docker exec -it <container_id> bash
などのコマンドでdocker containerの中に入ってcontainerの中が見れます。
pythonのオフィシャルイメージなどの場合、pythonがデフォルトでインストールされています。(コンテナに入って python -V などと打てば確認できます。)
開発環境用のコンテナを用意して、vscodeなどで開くことで、デフォルトでアタッチモード(コンテナの中)で開発できるのですごく便利です。
簡単にインプットしたら、少し手を動かして真似してみて、そこから実際にローカルでの環境構築にdocker-composeを利用するなどして、使っていきましょう。