docker
だとコンテナが起動するが、docker-compose
経由だとdocker
のコンテナが起動せずに Exited (255) ERROR
が出てしまって起動に失敗するパタンに自分がすごくよく遭遇する。
とりあえず、なにも考えずに以下の様に対応。
- 起動失敗パタン
version: '3'
services:
app:
build:
context: .
dockerfile: "Dockerfile"
image: "app"
container_name: "app"
ports:
- 8001:8001
command: "/sbin/init"
- 起動成功
version: '3'
services:
app:
build:
context: .
dockerfile: "Dockerfile"
image: "app"
container_name: "app"
privileged: true # ここ
ports:
- 8001:8001
command: "/sbin/init"
privileged: true
を付与することで起動する。
一応、注意事項としてprivileged: true
はセキュリティ的にリスクを伴うため、なるべく最小限の権限で動作させる方法を検討するのがよいとのこと。