DUICUO

Docker Desktop から Colima に切り替えるにはどうすればいいですか?

DDEVは、数分で簡単にローカルPHP開発環境を構築できるオープンソースツールです。プロジェクトごとに環境設定をスケーリング、バージョン管理、共有できるため、強力かつ柔軟です。つまり、DDEVは開発チームが複雑なカスタム設定をすることなく、ワークフロー内でコンテナを利用できるように設計されています。

DDEVは、従来のAMPスタックソリューション(WAMP、MAMP、XAMPPなど)を、柔軟で最新のコンテナベースのソリューションに置き換えます。コンテナを使用するため、DDEVでは各プロジェクトで任意のアプリケーションセット、Webサーバーバージョン、データベースサーバー、検索インデックスサーバー、その他のソフトウェアを使用できます。

2022年3月、DDEVチームは、macOSとLinux向けのオープンソースDocker Desktop代替製品であるColimaのサポートを発表しました。Colimaはオープンソースであり、あらゆる報告によると、代替製品よりもパフォーマンスが優れているため、Colimaの使用は完全に許容できる選択肢と言えるでしょう。

コリマへの移住

まず、ColimaはDocker Desktopのほぼ代替品と言えるでしょう。 「ほぼ」というのは、既存のDDEVプロジェクトで使用するには再構成が必要だからです。具体的には、データベースの再インポートが必要です。回避策としては、まずデータベースをエクスポートし、Colimaを起動して再度インポートするという方法があります。とても簡単です。

Colimaを使用するにはDockerまたはPodmanのインストールが必要です。LinuxではLimaも必要です。

DockerはDocker Desktop for macOSにプリインストールされていますが、スタンドアロンコマンドとしても使用できます。100%純粋なColimaを使いたい場合は、Docker Desktop for macOSをアンインストールし、Dockerクライアントを別途インストールして設定してください。インストール手順の詳細は、DDEVドキュメントサイトをご覧ください。

画像ソース: (Mike Anello、CC BY-SA 4.0) コンテナ テクノロジー スタック。

ColimaとDocker Desktopを引き続き使用する場合は、コマンドラインから​docker​コマンドを実行する際に、まず使用するコンテナを指定する必要があります。これについては次のセクションで詳しく説明します。

macOSにColimaをインストールする

現在、Dockerを使ったローカルプロジェクトとColimaを使ったプロジェクトをいくつか進めています。基本を理解すれば、切り替えも難しくありませんでした。

  1. Homebrew を使用して Colima をインストールし​brew install colima​
  2. ​ddev poweroff​ (安全上の理由)
  3. 次に、 ​colima start --cpu 4 --memory 4​ ​--cpu​および​--memory​オプションは一度だけ実行する必要があります。2回目以降は​colima start​
  4. 私のようにDDEVユーザーであれば、一般的な​ddev​コマンド( ​ddev config​​ddev start​など)を使って、新しいDrupal 9サイトを立ち上げることができます。パフォーマンスを最大限に高めるには、DDEVのmutagen機能を有効にすることをお勧めします。

ColimaとDocker Desktopの切り替え

Colima を使用する準備ができていない場合、Colima と Docker Desktop の両方をインストールできます。

  1. まず、ddevをオフにします: ​ddev poweroff​
  2. ではコリマを止めましょう: ​colima stop​
  3. ここで、 ​docker context use default​を実行すると、Docker クライアントにどのコンテナを使用するかを伝えます。デフォルトの名前は Docker Desktop for Mac です。`colima ​colima start​を実行すると、Docker は自動的に​colima​コンテキストに切り替わります。
  4. デフォルト (Docker Desktop) コンテキストを引き続き使用するには、 ​ddev start​コマンドを使用します。

技術的には、Colima の起動と停止は必要ありませんが、2 つのコンテキストを切り替えるときには​ddev poweroff​コマンドが必要です。

Colimaが停止すると、最新バージョンのColimaではDockerコンテキストが​default​に復元されるため、 ​docker context use default​コマンドは不要になります。ただし、 ​default​ (Docker Desktop for Mac)または​colima​コンテキストが使用されていることを確認するために​docker context show​コマンドを使用しています。基本的に、` ​context​という用語は、Dockerクライアントがコマンドを送信するコンテナプロバイダーを指します。

コリマを試す

全体的に、今のところ満足しています。特に問題は発生しておらず、Colimaベースのウェブサイトは高速化しているように見えます(特にDDEVのMutagen機能を有効にすると)。今後数週間以内に、プロジェクトのウェブサイトをColimaに移行する予定です。