Unknown runtime specified default

Expected behavior

When using docker compose I expect that linked services start.

Actual behavior

After updating to the latest docker for mac I am now unable to run any docker compose services. I receive an error message “Unknown runtime specified default” for every dependent service.

$ docker-compose up
Starting pegasusbeta_db_1
Starting pegasusbeta_elasticsearch_1

ERROR: for elasticsearch  Unknown runtime specified default

ERROR: for db  Unknown runtime specified default
ERROR: Encountered errors while bringing up the project.

Information

My docker-compose.yml

web:
  build: .
  environment:
    - DATABASE_URL=mysql2://root@db:3306
    - ELASTICSEARCH_URL=http://elasticsearch:9200
  env_file:
    - .env
  volumes:
    - .:/app
  ports:
    - "3000:3000"
    - "35729:35729"
  links:
    - db
    - elasticsearch

db:
  image: mysql:5.6
  ports:
    - "3306:3306"
  environment:
    - MYSQL_ALLOW_EMPTY_PASSWORD=true

elasticsearch:
  image: elasticsearch:1.5.2
  • Docker for Mac: version: mac-v1.12.0-beta18
  • OS X: version 10.11.5 (build: 15F34)

Diagnostic ID: 347260B9-59B5-4A4E-89CA-F1F074EA64CF

2 Likes

I am experiencing this same problem immediately after updating to the latest version.

same here, after update to the newest version…

Looks related to https://github.com/docker/docker/issues/24343. Removing the containers and restarting them partially resolves the issue. The containers will start, but logging doesn’t work. “jack is incompatible with use of CloseNotifier in same ServeHTTP call”

Same here. A quick solution that worked for me is to “Reset to factory settings” on Docker preferences. Since I use Docker for Mac only for development, I don’t care about losing volume data.

Confirmed.

Don’t update to this version if you can help it.

Is there any way to downgrade?

2 Likes

Deleting my containers and re-upping fixed it for me. I should note that I also nuked my volumes associated to the containers that wouldn’t start…

Looking at the containers that wouldn’t start it was probably related to the volumes since the only ones that wouldn’t start were the ones with volume* mounts.

is there a way to change the runtime for a container?

$ docker inspect postgres |grep runtime
"runtime": “default”,

on a new created container its “runc”:

$ docker inspect modest_jennings |grep runtime
"runtime": “runc”,

yes it seems to happen to everyone. reseting to factory defaults fixes it.

Is there a workaround for this http: Hijack is incompatible with use of CloseNotifier in same ServeHTTP call issue? I’m able to start containers, but am unable to run commands such as: docker-compose run django python manage.py createsuperuser and since all my data was wiped in this upgrade, it’s hard to get anywhere.

I think you’re running the command, but you’re not seeing any logs. What I did here was after I ran docker-compose up, I attached to each container which I care about the logs individually

I tried answering the prompts that should be visible, but no dice. I ended up downgrading to the previous version and I’m back in business. Thanks though!

1 Like

I’m having the same problem with the last update: 1.12.0-rc3-beta18 (build: 9969) Any idea on how to downgrade?

I was able to restore previous version from trash. Removed and recreated the containers. It works now.
Downgrade link.
https://download.docker.com/mac/beta/1.12.0.9779/Docker.dmg

Phuu - you save my day. Thanks! I stopped Docker. Reinstalled it from your .dmg - everything is back to normal again.

Downgrading worked. It also looks like the update has been pulled as version 1.12.0-rc2-beta17 (build: 9779) is now telling me I have the most recent version.

Try: docker-compose up --force-recreate

1 Like

me fue útil gracias.