multipass で docker 環境がコマンド一発で構築できるようになっていたのでご紹介
M1 Mac でも使えることに定評のある Ubuntu の仮想環境 multipass ですが、このたびコマンド一発で docker 環境が構築できるようになっていたのでご紹介です。自力で docker 環境を構築する手間がなくなって非常におすすめです。colima
や Rancher 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