私は 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 ランタイムの作成に失敗しました」というエラーが発生する
サービス アプリを起動できません: OCI ランタイムの作成に失敗しました: container_linux.go:349
たとえば、エラー メッセージを読んで推測すると、エラー メッセージの末尾が「読み取り専用ファイル システム: 不明」なので、何らかの書き込み権限をオンにする必要があるようです。残念ながら、私が貢献できるのはこれだけです。
ベストアンサー1
私の場合、Docker の作成タイムアウトになり、コンテナが破損しました。次の操作を行う必要がありました。
- 作成タイムアウトを増やす (COMPOSE_HTTP_TIMEOUT=480)
- コンテナをクリーンアップする(docker(イメージ|コンテナ|ネットワーク)プルーニング
- もう一度作成を実行する