目次
docker-compose up -d
で立ち上げた時、様々なエラーが発生したので、そのエラー内容と対応方法をまとめました。
ERROR: yaml.parser.ParserError: while parsing a block mapping
内容
$ docker-compose up -d
ERROR: yaml.parser.ParserError: while parsing a block mapping
in "./docker-compose.yml", line 1, column 1
expected <block end>, but found '<block mapping start>'
in "./docker-compose.yml", line 18, column 2
1行目からyaml.parser.ParserErrorが発生しました。原因をdocker-compose.ymlファイルから探ってみます。
原因
version: "3.7"
services:
app: # インデントがずれている!
build:
context: .
dockerfile: Dockerfile
インデントは、半角空白2文字でしているはずが、1行だけ1文字でインデントをしてしまっています。この時に、yaml.parser.ParserErrorが発生します。
対応方法
version: "3.7"
services:
app:
build:
context: .
dockerfile: Dockerfile
半角空白2文字で正しくインデントを揃えることで解決します。
ERROR: yaml.scanner.ScannerError: while scanning for the next token
内容
$ docker-compose up -d
ERROR: yaml.scanner.ScannerError: while scanning for the next token
found character '\t' that cannot start any token
in "./docker-compose.yml", line 3, column 1
3行目でyaml.scanner.ScannerErrorが発生しました。原因をdocker-compose.ymlファイルの3行目から探ってみます。
原因
version: "3.7"
services:
app: # インデントがタブになっている!
build:
context: .
dockerfile: Dockerfile
空白でインデントをしているはずが、タブ文字でインデントをしてしまっています。この時に、yaml.scanner.ScannerErrorエラーが発生します。
対応方法
version: "3.7"
services:
app:
build:
context: .
dockerfile: Dockerfile
タブ文字ではなく、半角空白文字でインデントを整えることで解決しました。