DockerとDocker ComposeをWSLのUbuntu22.04上で使う

Docker
Sponsored Link

Docker

Dockerはクジラのアイコンで有名なコンテナ基盤アプリケーションです。

Home
Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious set...

コンテナは仮想化の一種で、VMwareのvSphereやMicrosoftのHyper-Vを用いてのOSを含む仮想マシンを作成する仮想マシンではなく、OSのリソースは共有してしまおうという考えの仮想化です。

需要があれば今度詳しく説明しますが、世の中には多くの解説サイトがあるので、そちらを読むのがいいかも。

ちなみに同じコンテナ仮想化ではRedHatのPodmanなどが有名です。

Docker Compose

今回はついでにDocker Composeも入れます。

Docker Composeは複数のコンテナを一度に管理できるツールのようなものです。
例えばWordpressをDockerで構築しようとした場合、「Wordpress本体」と「データベース(MySQLなど)」が必要になりますが、Docker Composeを使うと、1つのファイルを作るだけで、2つのコンテナを作成したり、起動したりすることができます。

ざっくりとした流れ

手順のざっくりとした流れです。

順序 内容
0 WSLの準備
1 レポジトリの追加
2 インストール
3 確認

手順

WSLの準備

今回はWindows Subsystem for Linux(WSL)を利用してWindows環境で実行します。

ちなみにですが、小難しいことをしたくなければDocker for Windowsを入れるのがスマートです。

が、WSLになれること、作り直したくなったらWSL上で再作成してしまえばいいという、どうでもいい理由で試します。

まずはWSL上にRHELを用意する必要があります。

Macだけじゃない!WindowsでLinuxを使おう+複数環境の構築
WSL2とはWSL2はWindows Subsystem for Linuxの略称であるWSLのバージョン2という意味です。 WSLはWindows上でLinuxを動かすことのできるWindowsの機能です。Windows 10、Windo...
Windows Subsystem for Linux
「Windows Subsystem for Linux」の記事一覧です。

レポジトリの追加

「dnf install docker」などと入力すれば入るような甘いものではありませんので、Docker用のレポジトリを追加。
ちなみに、インストールするDockerは「docker-ce」です。

  1. アップデートと必要パッケージをインストールします

    $ sudo apt-get install ca-certificates curl gnupg lsb-release
    
  2. GPGキー(パッケージの配布元が正しいか確認するための鍵)を保存するディレクトリを作成します
    既に存在している場合もあります。

    $ sudo mkdir -p /etc/apt/keyrings
    $ ls -la /etc/apt/ | grep keyrings
    drwxr-xr-x  2 root root 4096 Apr  8  2022 keyrings
    
  3. docker公式のGPGキーを取得します

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
  4. レポジトリを追加します

    $ echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    $ sudo apt-get update
    
    ...
    Reading package lists... Done
    

インストール

Dockerをインストールします。
ここではあわせてDocker Composeもインストールしておきます。

$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
...
Do you want to continue? [Y/n]y
...

$ sudo apt update

確認

  1. サービス起動確認

    $ sudo systemctl status docker
    ● docker.service - Docker Application Container Engine
        Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
        Active: active (running) since Wed YYYY-MM-DD hh:mm:ss JST; xxx ago
    TriggeredBy: ● docker.socket
        Docs: https://docs.docker.com
    
  2. Dockerコマンドの確認
    コンテナの一覧を表示するコマンドを実行してみます。

    $ sudo docker ps -a
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
    

    項目だけが表示されればOKです。

コメント