Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LinuxClub勉強会 - 基礎とハンズオンから始めるDockerを使用したコンテナ技術

LinuxClub勉強会 - 基礎とハンズオンから始めるDockerを使用したコンテナ技術

この勉強会は、Dockerを初めて学ぶ人を対象に、コンテナ技術の基礎から実際に手を動かす体験までを通して理解を深めることを目的としています。コンテナと仮想マシンの違いや、Dockerfileを用いた環境構築の流れを紹介し、最後にはクラウド活用やチーム開発での応用例にも触れます。実務や個人開発に直結する知識を得られる入門編です

Avatar for ♛Heitor Hirose

♛Heitor Hirose

August 23, 2025
Tweet

More Decks by ♛Heitor Hirose

Other Decks in Programming

Transcript

  1. 目次 1. オープニング - 勉強会の趣旨とゴール 2. Dockerの入門 - Dockerって何? -

    Dockerの基礎知識 - コンテナと仮想マシンの違い - WSL2とDockerの違い 3. Dockerを触ってみる - 基本コマンドの紹介 - コンテナの起動 - コンテナの停止・削除 4. Dockerfile 入門 - Dockerfileとは何か - 基本構造 - 簡単なアプリのビルド 5. Dockerをさらに勉強するなら? - 個人開発で活用せよ - チーム開発での活用 - Docker Composeについて - GCP、AWSなどの活用 6. おわりに。
  2. Dockerのアーキテクチャ (1) Docker Engine (デーモン) Dockerの中核となるもの、バックグラウンドに常駐してコンテナ、イメージなどの作 成・実行・停止などの管理をすべて担っている Docker クライアント ユーザーがDockerを操作するためのもの。docker

    run や docker buildなどの命令を Docker Engineに伝えてくれるもの イメージ コンテナを作成するための 「設計図」 にあたるもの。アプリケーションを実行するた めに必要な設定やライブラリーなどが一つにまとめられている。 コンテナ コンテナは イメージ を実体化して動かしたもので、イメージが設計図であるならばコ ンテナは設計図からできた成果物。 レジストリ イメージを保管し、配布するための仕組み。自分の作ったイメージをレジストリにアッ プロードすることで、他の開発者がイメージを取得して仕様できるようにするもの。
  3. サーバーを構築して公開まで。 こ れ ま で は ア プ リ ケ

    ー シ ョ ン を 動 か す 方 法 と い え ば 、 「ホストOS」に直接ソフトウェアをインストールして実行する か、 「仮想マシン」を立ち上げてその中にOSごと環境を構築する 方法で構築して公開するのが一般的だった。
  4. Windows Subsystem for Linux 2 (WSL2)とは? ※ 本当はもうちょっと色々ある気がする WSL2のおかげで、WindowsユーザーでもLinux環境や コマンドをそのまま利用できるようになっている。

    Windows環境ではDockerを直接実行できないため、 内部的にはWSL2(Hyper-V上のLinuxカーネル)を 土台としてDocker Engineが動作している。 つまり、WSL2はDockerを支える基盤であり、その上 でDockerがコンテナを実行している関係になります。 仮想化機能(Hyper-V)の上で軽量なLinuxカーネルを動かす仕組み ※ ちょっと自信ない。 。 。
  5. ハンズオンの流れ 1. Docker Hubというレジストリから nginx のイメージを持ってくる 2. ダウンロードしたイメージを使用してコンテナを起動 3. コンテナの確認

    4. 起動したコンテナ上にあるアプリにアクセスしてみる 5. コンテナの停止・削除 6. ダウンロードしたイメージの削除
  6. Goocle Cloudなどのクラウドを使ってみよう! ローカルで作ったDockerイメージを、クラウド上に置いて実際に動かしてみましょう。 Google Cloudの Artifact Registry にイメージを保存すれば、チームや本番環境で共有 できるし、イメージのバージョン管理も簡単になります! そしてそれらのイメージを

    Cloud Run に設定すればクラウド上で自動的に実行し、URL 一つで誰でもアクセスできる Webサービスとして公開 できます。 サーバーレス と言われるサーバーを自分で管理する必要がなく、スケーリングも自動で 行われるため、初めてのクラウド活用にもおすすめです。 興味あればGKEとか、Kubernetesについても調べてみてください。面白いですよ。私はインターンでそれを使ってわからなさすぎて苦しんでいますが、 、 、 、