LoginSignup
3
1

More than 1 year has passed since last update.

突然docker-composeが使えなくなった

Last updated at Posted at 2022-03-21

起きたこと

docker-compose up を実行したところ、以下エラーが発生してdocker-composeを使用できなくなった

$ docker-compose up -d
ERROR: The Compose file is invalid because:
Service app has neither an image nor a build context specified. At least one must be provided.

ちなみに前提として

  • この事象が起きる前日までは同じコマンドで問題なく実行できてた。
  • docker-compose.yml及びDockerfileに変更入れていない。

となっています。

環境

  • Macbook Pro 2018 2.3 GHz クアッドコアIntel Core i5
  • mac OS Monterey 12.2.1
  • Docker Desktop for Mac 4.6.0
エラーとなったdocker-compose.yml
version: "3"
services:
  app:
    build:
      dockerfile: ./Dockerfile
    container_name: app-container
    tty: true  
    volumes: 
      - .:/go/src/app
    ports: 
      - "3000:3000"
    depends_on: 
      - db
    environment:
      - "DB_USER=root"
      - "DB_PASSWORD=password"
      - "DB_NAME=todo_db"
      - "DB_HOSTNAME=db"
      - "DB_PORT=3306"
  db:
    image: mysql:5.7
    container_name: db-container
    ports:
       - "3306:3306"
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    volumes:
       - "./mysql/db-data/:/var/lib/mysql"
       - "./mysql/my.cnf:/etc/mysql/conf.d/my.cnf"
    environment:
       MYSQL_ROOT_PASSWORD: password
       MYSQL_DATABASE: todo_db

解決までに試したこと

  • Service app has neither an image nor a build context specified と出ているので、appサービスにimageやbuildを追加
  • ファイルのインデントを揃える
  • 全角スペースが紛れ込んでいないか調査

解決手段

docker-compose ではなく docker compose に切り替えたら解決しました。

docker compose はどうやらDocker Desktop3.4.0から入っている Compose V2コマンドのようです。
参考:https://docs.docker.com/compose/cli-command/
特に何も考えずにDocker for Desktopのアップデート行っていたので、何か入ったのかも

なぜこのような事象が起きているかは今のところ分かりません。
分かり次第追記すると思います。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1