LVLPATH

日本最強無料プログラミングスクール

Docker

🔰 概要

Docker, docker-composeはフロントエンド、バックエンドエンジニアどちらの場合でも簡単な部分は理解している必要があります。

インフラ部分をやっていく場合にはk8sとかのコンテナオーケストレーション系も扱える人が多いです。

まずはフロントエンド、バックエンドどちらのケースでも、Dockerfile, docker-composeの基本的な操作やそれらを使った環境構築ができればOKです。

✅ Dockerの勉強のやり方

STEP1: とりあえず雰囲気を知る

まずは適当なリソース(どれでもいいのと、適当にいろいろ読んでみる)を使ってインプットしましょう。

カーネルだのDockerが軽量だのDockerfileだのdocker-composeらへんの解説が書かれているんでまずは読む。

ぶっちゃけ読んだところで最初の頃はなにいってんのかよく分からない。

STEP2: 実際に手元で動かす

brew使ってdockerとdocker composeをインストールして、dockerのコマンド、Dockerfileやらdocker-compose.ymlっぽいやつらを手元でコピペして編集して動かしていきましょう。

WordPressたてるとか、Python*Djangoたてるとか、mysqlたてるとか。

雰囲気でOK、疑問点があればChatGPTに聞く。

基本的にそんなに網羅的に勉強するとかは無理なので、ある程度でOK。

とりあえず調べながら使うことが大事。

STEP3: 実際に使う

実際に使ってエラー出されたりしながら試行錯誤していくと理解が深まるというよりかは、本読んで勉強するよりも実際に使いながら不明点をつぶしていくほうが勉強になります。

  • ウェブアプリ作成時
  • ポートフォリオ作成時
  • 個人開発時

↑ここらへんをdocker-composeで環境構築して開発始められるとGOOD。

✅ Tips

大体なんかしらのサンプルというか既にできてるdocker-composeがネットで調べると出てくるのでそれをコピペして編集して自分好みにカスタマイズするとわりと使えるようになる。

Dockerfileのほうもベースとなるサンプルをネットで拾ってくるかChatGPTに出してもらって自分好みにカスタマイズしてbuildしてエラー出しつつ解消していくとなんか雰囲気は掴めてきます。

✅ Check list

  • docker container, image, volume, networkをなんとなく理解していてコマンドかUI上(Docker desktop上から)操作できる
  • docker-compose で複数のcontainerを使った環境構築ができる
  • dockerのvolumeについて理解できている
  • dockerのnamed volumeについて理解できている
  • containerの中にcontainer id指定して入ってみたりできる
  • docker imageとcontainerの関係性がわかってる
  • 中級~
    • マルチステージビルドできる
    • ghcr(GitHub Container Registry)にdocker imageをpushしたりpullできる
    • devcontainer(https://code.visualstudio.com/docs/devcontainers/containers)を使って開発環境の構築ができる
お問い合わせ