Ubuntu Weekly Recipe

第719回 UbuntuでDocker Desktop for Linuxを使う

この記事を読むのに必要な時間:およそ 6 分

Docker Desktopとは

最近のトレンドのひとつに「コンテナ」があります。高速に独立したアプリケーション実行環境を作れる「Docker」は,アプリ開発者からシステム運用者まで,幅広く活用されているソフトウェアです。

DockerをMacやWindows上で簡単に扱えるよう,Dockerデーモン,CLIコマンド,GUIフロントエンド等々とあわせてパッケージングしたプロダクトが「Docker Desktop」です。そのDocker Desktopが,最近ついにLinuxに対応しました

Dockerなら昔からLinux上で動くし,パッケージも用意されているし,別にGUIとかいらないし,何の意味があるかわからないよ……という方も多いでしょう。またDocker Desktopが有料化されたというニュースを聞いて,抵抗を感じる方もいるかもしれません。

結論から言ってしまうと,Docker Desktopを使うメリットのひとつは,ホスト環境ごとの違いをなくせる点です。Docker DesktopはWindows/Mac/Linux版が存在しますが,機能的な違いはありません。そのため開発者の使用するOSが混在しているような環境でも,バージョンを揃えるだけで,手軽に共通の開発環境を整えることができます。そしてDocker Desktopが有料化されたのは事実ですが,中小企業や個人用途であれば,現在でも無料で使えます。こう聞くと,なんだか魅力的に見えてくるのではないでしょうか。

それではUbuntu上でDocker Desktop for Linux(以下DD4L)を使う具体的な方法を,その機能と合わせて詳しく紹介していきましょう。

Ubuntu 22.04 LTSにDD4Lをインストールする

まずベースとなるUbuntu 22.04 LTS環境を用意しましょう。DD4Lの動作に必要な環境は以下の通りです。現在のUbuntuデスクトップが動作しているのであれば,特に問題となる箇所はないでしょう。

  • 仮想化支援機能を搭載した64bit CPU
  • 64bitカーネル
  • Kernel-based Virtual Machine(KVM)
  • QEMU バージョン5.2以降
  • systemd
  • GNOMEもしくはKDEデスクトップ環境
  • 4GB以上のメモリ

なぜコンテナを動かすのにKVM?と思うかもしれません。実はDD4Lはホストマシン上で直接ではなく,仮想マシンを作成した上で,その中でDockerデーモンを動作させます。これは,WindowsやMac上のDocker Desktopとの差異をなくすためや,LTSバージョンのOS上でも最新のカーネルの機能を提供するためなど,いくつかの理由によるものです。詳しくは公式ドキュメントのWhy Docker Desktop for Linux runs a VMを参照してください。QEMUのバージョン5.2以降が要求されているのは,virtiofsが必要な都合上です。QEMUのバージョンが4.2のUbuntu 20.04 LTSでも,DD4Lは起動することはします。しかし正式にサポートされているバージョンではないため,22.04 LTSの利用を強く推奨します。

なおDocker用の仮想マシンを動かさなくてはならない都合上,DD4LのホストとなるUbuntu自体が仮想マシン内で動作している場合は,Nested VMを有効にする必要があります。例えばVirtualBoxであれば,VirtualBoxのホスト上で以下のコマンドを実行して,ネステッドVT-x/AMD-Vを有効化してください。

ネステッドVT-x/AMD-Vを有効化する

$ VBoxManage modifyvm 'VM名' --nested-hw-virt on

DD4Lは,公式が提供しているUbuntu向けのDebパッケージからインストールできます。ただしDD4Lはdocker-ce-cliパッケージに依存しているため,インストールに先立って,Dockerの公式リポジトリを追加しておく必要があります。以下のコマンドを実行して,リポジトリ鍵とAPTラインを追加してください。

依存パッケージをインストールするため,Docker公式のリポジトリを追加しておく

$ sudo apt update && sudo apt install -y curl
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/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 update

ダウンロードページを開き,Debパッケージをダウンロードしてください。本記事執筆時点(2022年6月)では,バージョン4.9.0が最新でした。ダウンロードしたファイルをaptコマンドでインストールします。

図1 DD4LのDebパッケージをダウンロードする

図1

docker-desktopパッケージのインストール

$ sudo apt install ./docker-desktop-4.9.0-amd64.deb

著者プロフィール

水野源(みずのはじめ)

Ubuntu Japanese Teamメンバー。理想のフリーデスクトップ環境を求めて東へ西へ……のはずが,気がついたら北の大地で就職していたインフラ寄りのエンジニア。最近レンズ沼にハマる。日本仮想化技術株式会社所属。