project name must not be empty で Docker が起動できない場合の対処方法

スポンサーリンク

このエラーは、Docker Compose がプロジェクト名をうまく認識できないときに起こるようです。

解決できた方法を備忘録として残します。

現象

docker compose up -d を実行した際に、以下のようなエラーメッセージが表示され、コンテナを起動できない。

project name must not be empty

原因

このエラーは、docker-compose.yml が置かれているディレクトリの名前に、日本語のようなマルチバイト文字が含まれている場合に発生することがあります。

Docker Compose は、デフォルトでディレクトリ名を元にプロジェクト名を自動生成します。しかし、ディレクトリ名にマルチバイト文字が含まれていると、プロジェクト名を正しく認識できず、結果として「プロジェクト名が空である」というエラーを引き起こします。

解決策

docker-compose.yml ファイルに、プロジェクト名を明示的に指定することで解決できます。

ファイルのトップレベル( services: と同じ階層)に name プロパティを追加し、任意のプロジェクト名を(英数字で)設定します。

修正例

修正前

services:
    web:
      container_name: php_task_manager
      build: .
      ports:
         - "8239:80"
      volumes:
         - .:/var/www/html/
      restart: always

修正後

name: task-manager # この行を追加

services:
    web:
      container_name: php_task_manager
      build: .
      ports:
         - "8239:80"
      volumes:
         - .:/var/www/html/
      restart: always

このように name を指定することで、Docker Compose はディレクトリ名に依存せず、指定されたプロジェクト名でコンテナを管理するようになります。

タイトルとURLをコピーしました