Docker コンテナの起動に失敗しました。「shim タスクの作成に失敗しました: OCI ランタイムの作成に失敗しました: runc の作成に失敗しました」質問する

Docker コンテナの起動に失敗しました。「shim タスクの作成に失敗しました: OCI ランタイムの作成に失敗しました: runc の作成に失敗しました」質問する

私は Ubuntu も Docker も初めてです。プロジェクトの開始方法の説明で与えられたコマンドを実行しています。Docker コンテナを起動したいのですが、エラーが発生して失敗します。

いくつかの注意点:

  • これは新しいUbuntuラップトップです。
  • 権限を持つために Docker を追加しましたsudo。応答するリストの中にgroups生成されます。docker

起動に使用するコマンドは次のとおりです。docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d --build

そしてそれは次のようになります:

Step 11/12 : EXPOSE $PORT
 ---> Using cache
 ---> 7620427ebfe9
Step 12/12 : CMD ["ts-node", "./src/server.ts"]
 ---> Using cache
 ---> 00a32820e6e2
Successfully built 00a32820e6e2
Successfully tagged backend-marketplace_backend:latest
backend-marketplace_database_1 is up-to-date
Starting backend-marketplace_backend_1 ...
Starting backend-marketplace_backend_1 ... error

ERROR: for backend-marketplace_backend_1  Cannot start service backend: failed to create shim task:
OCI runtime create failed: runc create failed: unable to start container process: error during container init:
error mounting "/var/lib/docker/volumes/3ceff6572cda1981f7d29faf09f888cb9a8c0c5ac41b10bb323eb5d14e7e1d35/_data"
to rootfs at "/app/node_modules": mkdir /var/lib/docker/overlay2/c0a5b761bb9a94bb9a4dd3c21a862968dbbabe87698c0f744569ea56e323ea0e/merged/app/node_modules:
read-only file system: unknown

ERROR: for backend  Cannot start service backend: failed to create shim task:
OCI runtime create failed: runc create failed: unable to start container process: error during container init:
error mounting "/var/lib/docker/volumes/3ceff6572cda1981f7d29faf09f888cb9a8c0c5ac41b10bb323eb5d14e7e1d35/_data" to rootfs at
"/app/node_modules": mkdir /var/lib/docker/overlay2/c0a5b761bb9a94bb9a4dd3c21a862968dbbabe87698c0f744569ea56e323ea0e/merged/app/node_modules:
read-only file system: unknown
ERROR: Encountered errors while bringing up the project.

私が見てdocker-compose.yml言及docker-compose.dev.ymlした内容は次のとおりです:

docker-compse.yml:

version: "3"
services:
  backend:
    build: .
    ports:
      - "8000:8000"
    env_file:
      - ./.env

そしてドキュメント:

version: "3"
services:
  backend:
    build:
      context: .
      args:
        NODE_ENV: development
    volumes:
      - ./:/app:ro
      - /app/node_modules
    links:
      - database
    env_file:
      - ./.env
    command: npm run dev
  database:
    image: "postgres:latest"
    volumes:
      - pgdata:/var/lib/postgresql/data
    expose:
      - "5432"
    ports:
      - "5432:5432"
    env_file:
      - ./.env.database
  pgadmin:
    image: dpage/pgadmin4:latest
    ports:
      - 5454:5454/tcp
    environment:
      - PGADMIN_DEFAULT_EMAIL=<redacted>
      - PGADMIN_DEFAULT_PASSWORD=<redacted>
      - PGADMIN_LISTEN_PORT=5454
    depends_on:
      - database
volumes:
  pgdata:

「いくつかのスレッドを見つけて、そこで推奨されていることを試してみました」と言いたいところですが、実を言うとまだ読んでもあまり理解できません。次のスレッドは関連しているかもしれませんが、私にはラテン語のように読めます。

Windows マシンで「デーモンからのエラー応答: シムの作成に失敗しました: OCI ランタイムの作成に失敗しました」というエラーが発生する

サービス API を開始できません: OCI ランタイムの作成に失敗しました: container_linux.go:380: コンテナ プロセスを開始しています: exec: "python manage.py runserver

サービス アプリを起動できません: OCI ランタイムの作成に失敗しました: container_linux.go:349

たとえば、エラー メッセージを読んで推測すると、エラー メッセージの末尾が「読み取り専用ファイル システム: 不明」なので、何らかの書き込み権限をオンにする必要があるようです。残念ながら、私が貢献できるのはこれだけです。

ベストアンサー1

私の場合、Docker の作成タイムアウトになり、コンテナが破損しました。次の操作を行う必要がありました。

  1. 作成タイムアウトを増やす (COMPOSE_HTTP_TIMEOUT=480)
  2. コンテナをクリーンアップする(docker(イメージ|コンテナ|ネットワーク)プルーニング
  3. もう一度作成を実行する

おすすめ記事