Skip to content

Docker入門

ryota adachi edited this page Sep 29, 2024 · 6 revisions

image

Docker入門ガイド

Dockerのインストール方法

まずはDockerを使うためにインストールを行います。以下のリンクに詳細な手順が記載されているので、自分の使用しているOSに合わせてインストールを行ってください。

以下は、Windows、Mac、Linuxのそれぞれのインストール手順です。

1. Windowsの場合

  1. Docker Desktopのダウンロード

  2. インストーラを実行

    • ダウンロードしたインストーラをダブルクリックして実行します。
    • 画面の指示に従ってインストールを進めてください。
  3. 再起動

    • インストールが完了すると、PCの再起動が求められる場合があります。指示が出たら再起動してください。
  4. Docker Desktopの起動

    • 再起動後、Docker Desktopを起動します。初めて起動する際は、Windowsの設定によっては追加のセットアップが求められることがあります。
  5. インストール確認

    • コマンドプロンプトを開き、以下のコマンドを実行してインストールが正しく行われたか確認します。(Windows画面左下のタスクバーに「cmd」と入力すると「コマンドプロンプト」が表示されるので、これをクリック)

      docker --version
    • Dockerのバージョン情報が表示されればインストール成功です。

2. Macの場合

  1. Docker Desktopのダウンロード

  2. インストーラを実行

    • ダウンロードした.dmgファイルをダブルクリックして開き、Dockerアイコンを「Applications」フォルダにドラッグ&ドロップします。
  3. Docker Desktopの起動

    • ApplicationsフォルダからDocker Desktopを起動します。
    • 初回起動時にパスワードの入力が求められることがありますので、指示に従って進めます。
  4. インストール確認

    • ターミナルを開き、以下のコマンドを実行してインストールが正しく行われたか確認します。(TerminalはCommand + Space キーを同時に押してSpotlightを開き、「Terminal」と入力して検索結果から選択)

      docker --version
    • Dockerのバージョンが表示されれば、インストール完了です。

3. Linuxの場合(Ubuntuの例)

  1. Dockerのリポジトリをセットアップ

    • まずは、端末を開き、必要なパッケージをインストールします。

      sudo apt-get update
      sudo apt-get install \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
  2. DockerのGPGキーを追加

    • Dockerの公式GPGキーを追加します。

      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  3. Dockerリポジトリの追加

    • Dockerリポジトリをセットアップします。

      echo \
        "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
        $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  4. Dockerのインストール

    • Dockerをインストールします。

      sudo apt-get update
      sudo apt-get install docker-ce docker-ce-cli containerd.io
  5. インストール確認

    • インストール後、以下のコマンドでDockerが正しくインストールされたか確認します。

      docker --version
    • Dockerのバージョンが表示されれば、インストール完了です。

4. インストール後の確認

どのOSでも、最後にコマンドを実行してDockerのバージョン情報が表示されればインストールは成功です。インストール後、さらに詳しい設定や使い方は、公式サイトやドキュメントを参考にしてください。

参考リンク

インストールが完了したら、次にDockerを実際に使ってみましょう。


そもそもDockerとは?

Dockerは、アプリケーションやプログラムを「コンテナ」と呼ばれる小さな箱に入れて管理するためのツールです。簡単に言うと、Dockerを使うことで自分のPCで動かしているアプリケーションを、他のPCやサーバーでもそのまま動かすことができるようになります。

コンテナって何?

コンテナは、アプリケーションを動かすために必要なもの(ソフトウェアやライブラリなど)をすべて詰め込んだ、独立した空間のようなものです。普通のアプリケーションは動かす環境によって動作が変わることがありますが、コンテナを使うとどんな環境でも同じ動作をするので、開発の際に「自分のPCでは動いたのに他では動かない!」という問題を防ぐことができます。

Dockerコンテナの特徴

  • 軽量で高速:Dockerのコンテナは、仮想マシン(Virtual Machine)よりも軽くて、すぐに起動します。
  • どこでも動く:一度作ったコンテナは、他のPCやサーバーでも同じように動かせます。
  • 安全に隔離:各コンテナはお互いに独立しているので、1つのコンテナが他のコンテナに影響を与えることはありません。

何が便利?

通常、アプリケーションを作るときは、そのアプリを動かすために特定のソフトウェアや設定が必要です。しかし、Dockerを使えば、そのすべてをコンテナに詰め込んでおくことができるので、他の開発者やチームメンバーに渡しても、簡単に動かすことができます。


Docker-composeとは?

Docker-composeは、複数のコンテナを同時に管理するための便利なツールです。

なぜ必要?

例えば、アプリケーションを作る際に、データベースやWebサーバーなど、複数のコンテナを同時に使うことがあります。それぞれのコンテナを1つ1つ作って管理するのは面倒なので、Docker-composeを使うと、これらをまとめて簡単に設定・管理できます。

どうやって使うの?

Docker-composeは、docker-compose.ymlという設定ファイルを使います。このファイルに必要なコンテナの設定(どのソフトを使うか、どうやって通信するかなど)をすべて書いておきます。設定ファイルがあれば、1つのコマンドで複数のコンテナを同時に作成・起動・停止することができます。

まとめ

  • 複数のコンテナを1つのファイルで簡単に管理できる
  • Webサーバー、データベース、キャッシュサーバーなど、アプリケーションに必要なすべてを一括で動かすことができる

Docker Composeの主要なコマンド

Docker Composeは、複数のコンテナを一括で管理できる便利なツールです。よく使うコマンドを以下にまとめました。

  • docker-compose up: 設定ファイル(YAMLファイル)に基づいて、すべてのコンテナを一括で起動します。
  • docker-compose down: 起動しているすべてのコンテナを停止して削除します。
  • docker-compose build: YAMLファイルの設定を使って、コンテナをビルド(作成)します。

Docker Composeの利用ケース

Docker Composeは、さまざまなシーンで使われます。以下は、その代表的な例です。

  1. 開発環境のセットアップ

    • 必要なサービス(例: Webサーバー、データベースなど)を自動で立ち上げ、一括で管理できます。開発作業をスムーズに進めるために非常に便利です。
  2. CI/CDパイプライン

    • テスト環境を簡単に再現できるため、継続的インテグレーション(CI)や継続的デリバリー(CD)のパイプラインで、同じ環境を用意してテストができます。
  3. マイクロサービスアーキテクチャの運用

    • サービスごとにコンテナを分けて管理することで、システム全体を簡単にスケールアップしたり変更したりすることができます。大規模なアプリケーションにも対応可能です。

Docker Composeの設定ファイル(YAML)について

Docker Composeでは、docker-compose.ymlというYAML形式のファイルを使って、コンテナの設定を行います。下に設定ファイルの一例を示します。

version: '3'
services:
  web:
    build: .
    ports:
     - "5000:5000"
  redis:
    image: "redis:alpine"

Docker Composeの基本コマンド

1. 必ず覚えておくべきコマンド

Docker Composeを使う際に、まずこれだけは覚えておきたい基本のコマンドです。

  • docker-compose up:指定されたコンテナを作成して起動します。-dオプションを付けると、バックグラウンド(裏側)でコンテナを実行できます。

    例: docker-compose up -d

  • docker-compose down:起動中のコンテナを停止し、作成されたリソース(ネットワークやボリューム)を削除します。

  • docker-compose ps:現在実行中のコンテナ一覧を表示します。どのコンテナが起動中か確認するのに便利です。

  • docker-compose logs:コンテナが出力するログを表示します。アプリがどのように動いているか、エラーがないか確認できます。


2. 覚えておくと便利なコマンド

必須ではないですが、状況によって使うと便利なコマンドをいくつか紹介します。

  • docker-compose build:Dockerイメージをビルド(作成)します。新しいコードを反映したいときなどに使います。

  • docker-compose restart:実行中のコンテナを再起動します。変更を反映させたり、トラブルシューティングで使うことがあります。

  • docker-compose stop:実行中のコンテナを一時停止します。完全に削除する必要はないが、一時的に止めたいときに使います。

  • docker-compose start:停止しているコンテナを再度起動します。stopコマンドで止めたコンテナを再度動かしたいときに便利です。

  • docker-compose pull:指定したサービスに関連する最新のDockerイメージを取得します(プルします)。イメージの最新版を利用したいときに使います。

  • docker-compose config:現在使用しているdocker-compose.ymlファイルの設定内容を確認できます。設定が正しく反映されているかチェックするのに便利です。

  • docker-compose exec:実行中のコンテナ内で直接コマンドを実行します。例えば、コンテナ内でファイルを確認したり、ソフトをインストールする場合に使います。

    例: docker-compose exec web bashwebというコンテナ内でbashシェルを起動)

公式ドキュメント