🐳

multipass で docker 環境がコマンド一発で構築できるようになっていたのでご紹介

2022/06/09に公開

M1 Mac でも使えることに定評のある Ubuntu の仮想環境 multipass ですが、このたびコマンド一発で docker 環境が構築できるようになっていたのでご紹介です。自力で docker 環境を構築する手間がなくなって非常におすすめです。colimaRancher Desktop でも同様に短時間で docker 環境を用意することが出来ますが、それら lima ベースのアプリケーションは QEMU ベースであるのに対して、multipass は Virtualization.framework ベースであるという違いがあります。(細かいベンチマークはこの記事では行いません)。

(追記)こちら誤情報でした。すみません。🙇 multipassはVirtualization.frameworkをサポート していません。現在はDocker Desktopや、UTMあたりがサポートしています。

手順は 公式のチュートリアル をご覧ください。ここを読めば済む話ではあるのですが、一応簡単に流れを説明します。

multipass のインストール

公式サイトのインストーラー、あるいは Mac であれば brew install --cask multipass で入れることができます。

docker VM の起動

multipass launch docker と実行することで、既に docker が整備された状態の Ubuntu インスタンスを起動することができます。

起動が完了したら、multipass exec docker docker つまり「docker という名前のインスタンスの docker コマンドを実行する」ことによって、正しくインストールされたか確かめることができます。

docker コマンドへのエイリアスを貼る

multipass alias docker:docker と実行することで、お使いの環境に合わせた docker コマンドへのエイリアスの貼り方(PATHの追加の仕方)が表示されます(このコマンドを実行するだけでは何も起こりません。ご自身でPATHを追加してください)。

shell設定のリロードか再起動をし、ホスト環境で docker run hello-world を実行することができたら、準備完了です。

mount してビルドできるようにする

こちらの記事 に従ってホストOSのファイルをマウントしておくとビルド等も可能になります。

ホストOSとゲストOSでファイルパスが一致するので、たとえば docker build $(pwd) のようにしてイメージをビルドすることが出来るようになります(相対パスではなく絶対パスを渡すところがポイント)。

Portainer を使ってみる

この docker 環境には標準で Portainer と呼ばれる Web 管理画面が実装されています。CLI 一本で行く方はこの項目は飛ばして構いません。

multipass list コマンドで VM の情報が表示されるので、172.始まらない 方のIPアドレスをメモっておきます。

Portainer は既にポート9000で起動済みなので、 http://<そのIPアドレス>:9000 にアクセスすることで、Portainer を開くことができます。

最初に開いたときは admin アカウントのパスワードを決定する必要があるので、適当に決めましょう。

admin でログインできたら、ホーム画面が表示されます。ホーム画面では環境(Environments)が表示されていますが、最初は local しかないはずです。local をクリックして開きます。その後は公式チュートリアルに従ってブログエンジンを起動するなり、お好きにどうぞ。この記事では割愛します。

おしまい!

いかがでしたでしょうか? 意外とまだ日本語記事にない情報だったので、ほぼ中身がないですが記事を書いてみました。お役に立てば幸いです。

Discussion