旅の途中、興味深いオアシスを見つけた。忘れないうちに、この羊皮紙に記しておくとしよう。
前回、私はDocker Desktop for Windowsという名の、肥大化した蜃気楼との決別を宣言し、WSL2/Ubuntu(Windows上のLinux環境)という、より質実剛健な大地に、直接Dockerの拠点を築いた。しかし、そこには一つの問題があった。コマンド(CLI:文字入力での操作)という古の言葉でしか対話できない、あまりに無口なゴーレム(Docker)の存在だ。
Dockerを始めたばかりの冒険者にとって、GUI(グラフィカルユーザーインターフェース:視覚的操作画面)という名の、親しみやすい対話の手段がないのは、何よりの不安だろう。そこで、私は「Portainer」という名の、魂の翻訳機(Docker管理用Webツール)を導入することを決意した。ブラウザという魔法の水晶玉を通し、無口なゴーレムの魂を、誰もが直感的に理解し、操れるようにする。これは、その驚くほど簡単な儀式の、全ての記録である。
この羊皮紙のあらまし
この羊皮紙が導く者
- Dockerという名のゴーレムを、GUIという親しみやすい方法で管理したい者
- コマンド(CLI)という古の呪文を、まだ覚えきれていない、若き冒険者
- 遠く離れた場所から、リモートでゴーレムを操りたいと願う探求者
- WSL2に直接Dockerを構築したが、GUIの不在に戸惑っている開拓者
- 複数のコンテナを一目で把握し、効率的に管理したい実務家
砂漠の道標
- Docker(ドッカー) - アプリケーションをコンテナという独立した環境で動かす技術。無口なゴーレムとして表現される。
- コンテナ(Container) - Dockerで動作する、独立したアプリケーション実行環境。一つ一つが個別のゴーレムの魂。
- WSL2(Windows Subsystem for Linux 2) - Windows上でLinuxを動かす技術。Dockerの新たな拠点。
- CLI(Command Line Interface) - 文字入力での操作方法。古の呪文による対話。
- GUI(Graphical User Interface) - 視覚的な操作画面。マウスで直感的に操作できる親しみやすい対話手段。
- Portainer(ポーテナー) - DockerをブラウザでGUI管理できるツール。魂の翻訳機。
- Dockerボリューム(Volume) - Dockerコンテナのデータを永続的に保存する領域。魂の記憶を留める聖域。
- localhost:9000 - 自分のPC内のポート9000番。Portainerの魂が住まう番地。
魂の翻訳機、Portainerを召喚する儀式
儀式は、驚くほどシンプルだ。
まずは、Portainerの魂の記憶を留めておくための、聖なる領域(portainer_data:Dockerボリューム)を創造する。
$ docker volume create portainer_data
次に、docker runという、最も基本的な召喚の呪文(コンテナ起動コマンド)を唱え、Portainerの魂を、この大地に降臨させる。
$ docker run -d -p 9000:9000 --name portainer \ --restart always -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data portainer/portainer-ce
docker ps(稼働中のコンテナ一覧表示コマンド)で、その魂が確かに稼働していることを確認すれば、召喚の儀式は完了だ。
魔法の水晶玉で、魂を覗き込む
ブラウザという名の魔法の水晶玉で、http://localhost:9000という、召喚した魂の在り処(PortainerのWebインターフェース)を覗き込む。
すると、最初に管理者(admin)という名の主の、パスワードという合言葉を定めるよう、促されるだろう。
次に、どのゴーレムと対話するのかを問われる。我々が対話したいのは、この大地にいるDocker(ローカルのDocker環境)だ。「Docker」を選び、Connectのボタンを押す。
するとどうだろう。水晶玉には、この大地に存在する全てのコンテナ(Dockerで動作する独立した環境)の情報が、手に取るように映し出されるではないか。
コンテナの名をクリックすれば、その魂の詳細、ログ、そして起動・停止・削除といった、神にも等しい権能を、ボタン一つで操ることができるのだ。
羊皮紙を巻く前に
WSL2/Ubuntuに直接Dockerを築いた後、このPortainerという魂の翻訳機を導入することで、我々は、コマンドラインの無機質な砂漠から解放され、GUIという緑豊かなオアシスへと辿り着くことができる。
Docker Desktop for Windowsを捨てた時、最大の不安は「GUIがなくなる」ことだった。しかし、Portainerはその不安を完全に払拭してくれた。それどころか、Docker Desktopよりも軽快で、ブラウザさえあれば、どこからでもリモートで管理できる、この手軽さと強力さ。わずか2つのコマンドで、この新たな世界が手に入るのだ。
Portainerがもたらす価値
- 直感的なGUI操作 - コマンドを覚えなくても、視覚的にDockerを完全管理できる
- リモート管理の自由 - ブラウザさえあれば、どこからでもDocker環境にアクセス可能
- 軽量で高速 - Docker Desktopのような肥大化がなく、WSL2上で軽快に動作
- 初心者に優しい - コンテナの状態、ログ、統計情報が一目で分かる
- 無料で強力 - Community Edition(無料版)でも十分な機能を提供
導入時の注意点
- 初回パスワード設定は必須 - 最初のアクセス時に必ず管理者パスワードを設定する
- ポート9000の開放 - リモートアクセスする場合はファイアウォール設定が必要
- 再起動後の自動起動 -
--restart alwaysオプションで、システム再起動後も自動起動される
まとめ
Docker Desktop for Windowsという蜃気楼との決別は、決して「便利さの喪失」ではなかった。むしろ、Portainerという真の翻訳機を得ることで、より軽快で、より自由な、Docker管理の新たな地平が開けたのだ。
無口なゴーレムは、もはや無口ではない。Portainerという翻訳機を通せば、その魂の全てが、美しいGUIとして、我々の前に開示される。
この羊皮紙が、同じように、無口なゴーレムとの対話に、一抹の不安を抱いている、未来の冒険者の助けとなることを願う。
おっと、どうやら相棒が腹を空かせたようだ。今日はこのへんで筆を置くとしよう。
砂漠で見つけた魔法のランプ
- 蜃気楼との決別 ~Docker Desktopを捨て、WSL2に拠点を築く~ | 前回の冒険の記録。Portainer導入の前提となる旅路
- Portainer Official Documentation | 魂の翻訳機の公式な古文書。より深い知識はここで
ラクダの独り言
ご主人が、無口なゴーレムと話すのが面倒だとかで、今度は「魂の翻訳機」だなんて、また新しい道具を手に入れたらしい。俺に言わせりゃ、言葉が通じねえなら、身振り手振りで伝えりゃいいだろうに。まったく、人間ってのは、すぐに便利な道具に頼りやがる。やれやれだぜ。