🎃

Docker入門1)WSL2 Docker 導入手順

2024/05/06に公開

WSL2上にDockerをインストールし、サンプルのDockerfileをビルドするまでの手順

前提条件

Docker導入手順

  1. システムのアップデート

    sudo apt update
    sudo apt upgrade
    
    補足説明
    • 目的: システムのパッケージリストを更新し、インストールされているパッケージを最新版にアップグレードします。
    • 構成要素:
      • sudo: スーパーユーザー権限でコマンドを実行します。
      • apt: Ubuntuのパッケージ管理ツールです。
      • update: パッケージリストの更新を行います。
      • upgrade: 新しいパッケージのバージョンがある場合にアップグレードを行います。
  2. Dockerの前提パッケージのインストール

    sudo apt install -y apt-transport-https ca-certificates gnupg-agent software-properties-common
    
    補足説明
    • 目的: Dockerを安全にインストールするために必要なパッケージをインストールします。
    • 構成要素:
      • install: 指定したパッケージをインストールします。
      • -y: すべてのプロンプトに対して「yes」と自動で答え、手動での確認を省略します。
      • apt-transport-https: HTTPS経由でリポジトリにアクセスするために必要です。
      • ca-certificates: SSL/TLSのための証明書を管理するために必要です。
      • gnupg-agent: GPGの鍵管理を助けるツールです。
      • software-properties-common: ソフトウェアのリポジトリを追加・管理するツールです。
  3. DockerのGPGキーの取得とリポジトリの追加

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
    補足説明
    • 目的: Dockerの公式GPGキーを取得して信頼できるソースからパッケージをインストールできるようにし、Dockerのリポジトリをシステムに追加します。
    • 構成要素
      • curl: URLからデータを転送するためのコマンドラインツールです。
      • -fsSL: オプション群で、エラー時に無言で失敗し(-f)、サーバーの指示に従ってロケーションを変更し(-L)、進行状況やエラーメッセージを表示しない(-sS)設定です。
      • apt-key add -: ダウンロードしたGPGキーをAPTの信頼できるキーとして追加します。
      • add-apt-repository: 新しいリポジトリをシステムに追加します。
      • $(lsb_release -cs): 現在のUbuntuのバージョンコード名を出力します。
  4. Docker本体のインストールとdocker-composeのインストール

    sudo apt install -y docker-ce docker-ce-cli containerd.io
    sudo apt install docker-compose
    
    補足説明
    • 目的: DockerエンジンとCLIツール、さらにdocker-composeをインストールします。
    • 構成要素
      • docker-ce: Dockerのコミュニティエディションをインストールします。
      • docker-ce-cli: Dockerのコマンドラインインターフェイスツールをインストールします。
      • containerd.io: Dockerコンテナのランタイムをインストールします。
      • docker-compose: 複数のコンテナを定義し、実行するためのツールです。
  5. Dockerサービスの開始

    sudo service docker start
    
  6. Docker動作確認

    sudo docker run hello-world
    
    実行結果(抜粋)

    以下のようなレスポンスが返ってくればOK

    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
  7. sudoなしでDockerコマンドを使用

    sudo gpasswd -a $USER docker 
    logout
    

    $USERは、自身のユーザ名に置き換え要

    補足説明
    • 目的: 毎回sudoをタイプするのは面倒なので、Dockerコマンドをsudoなしで利用可能にする。
    • 構成要素
      • sudo: スーパーユーザー権限でコマンドを実行します。
      • gpasswd: グループのメンバーシップを管理するためのコマンドです。
      • -a $USER docker: -a オプションはユーザーをグループに追加します。
        • $USERは現在のユーザー名
        • dockerはグループ名
      • logout: 現在のセッションを終了し、変更を有効にするために必要です。
  8. Docker動作確認(sudoなし)

    ubuntu
    
    docker run hello-world
    

    sudoなしでも先ほどと同様のレスポンスが返ってくればOK


参考サイト


今後やりたいこと

  • GitHubからクローンして、Docker build する一連の手順を理解したい。
    • Gitのインストール
    • GitHubからのクローン手順
    • Dockerのビルド手順
  • Linux使用経験がほとんどないので、コマンドやファイル操作など、基本的な操作方法を理解したい。

Discussion