LoginSignup
28
25

More than 5 years have passed since last update.

Docker - OCI runtime create failed エラー

Last updated at Posted at 2019-01-30

OCI runtime create failed エラー

docker-compose updocker run でも同様)時に発生。以下のようなエラーを吐いてコンテナ起動に失敗する。

ERROR: for amazonlinux2-with-xxxx  Cannot start service app_server: OCI runtime create failed: container_linux.go:344: starting container process caused "chdir to cwd (\"/root\") set in config.json failed: permission denied": unknown

ERROR: for app_server  Cannot start service app_server: OCI runtime create failed: container_linux.go:344: starting container process caused "chdir to cwd (\"/root\") set in config.json failed: permission denied": unknown
ERROR: Encountered errors while bringing up the project.

状況

似たようなエラーが出るケースはいくつかある模様。エラーの種別としては OCI runtime create failed エラーと言える様だ。

ケースによって対応方法が異なる模様。

今回 Docker イメージとコンテナの削除、 Docker の再起動では復旧せずハマる。

原因

starting container process caused "xxxx" の xxxx のところがエラーを引き起こした処理とエラーメッセージなのでこれが原因に関係するはず。

今回の場合

chdir to cwd (\"/root\") set in config.json failed: permission denied

なので、作業ディレクトリを /root に変更しようとしたら permission denied エラーになった、ということ。

今回の場合 Dockerfile


〜〜省略〜〜

ARG APP_USER_NAME='local-user'
ARG APP_USER_GROUP="$APP_USER_NAME"

RUN groupadd $APP_USER_GROUP && \
    useradd $APP_USER_NAME -g $APP_USER_GROUP

WORKDIR /root

〜〜省略〜〜

USER $APP_USER_NAME

という感じで WORKDIR /root したあと、一般ユーザーに切り替えた場合、WORKDIR /root が効いたままになっているのに一般ユーザーでなにかしようとして permission denied エラーになったというのが原因。

初歩的なケアレスミス。

今回の場合の解決方法

USER $APP_USER_NAME の前後に WORKDIR /home/$APP_USER_NAME という感じで、ワークディレクトリをそのユーザーにアクセス権限があるディレクトリに変更すれば解決。

発生環境 docker version

$ docker version
Client: Docker Engine - Community
 Version:           18.09.1
 API version:       1.39
 Go version:        go1.10.6
 Git commit:        4c52b90
 Built:             Wed Jan  9 19:33:12 2019
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       4c52b90
  Built:            Wed Jan  9 19:41:49 2019
  OS/Arch:          linux/amd64
  Experimental:     false
28
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
25