Docker

Dockerコンテナログイン時にOCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: “/bin/bash”: stat /bin/bash: no such file or directory: unknownが出た時の解決策

環境

  • macOS Monterey v12.3.1
  • Docker version 20.10.10
  • Docker Desktop For Mac

事象

docker exec -it frontend /bin/bashでfrontendコンテナにログインしたかったが、以下の内容でエラーが発生し、ログインできなかった。

docker exec -it frontend /bin/bash
OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "/bin/bash": stat /bin/bash: no such file or directory: unknown

ソースコード(抜粋)

FROM node:16-alpine

WORKDIR /var/www/html

version: "3.8"

services:
  (省略)

  frontend:
    build:
      context: ./docker/node
      dockerfile: Dockerfile
    container_name: frontend
    ports:
      - ${FRONTEND_PORT}:3000
    volumes:
      - ./frontend:/var/www/html/frontend
    tty: true

  (省略)

原因

Alpine上で動いているイメージ(Node.js)を使っており、bashコマンドが使えなかったから。

解決策

/bin/shに修正すると無事にログインできた。

docker exec -it frontend /bin/sh
/var/www/html #