ブログ
WindowsのWSL2上のDockerでup時に’ContainerConfig’のエラーが出た。
当社の開発環境はMacとWindowsが混在したDocker上での開発を行っています。なのでMacでOKだけどWindwos(WSL2)ではダメとかあったりするので、WSL上ではsudoでdocker、docker-composeコマンドを実行してもらっています。
WSL2上で最近発生したエラーで以下のエラー出力がありました。
ERROR: for mysql 'ContainerConfig' Traceback (most recent call last): File "/usr/bin/docker-compose", line 33, in <module> sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')()) File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 81, in main command_func() File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 203, in perform_command handler(command, command_options) File "/usr/lib/python3/dist-packages/compose/metrics/decorator.py", line 18, in wrapper result = fn(*args, **kwargs) File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1186, in up to_attach = up(False) File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1166, in up return self.project.up( File "/usr/lib/python3/dist-packages/compose/project.py", line 697, in up results, errors = parallel.parallel_execute( File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute raise error_to_reraise File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer result = func(obj) File "/usr/lib/python3/dist-packages/compose/project.py", line 679, in do return service.execute_convergence_plan( File "/usr/lib/python3/dist-packages/compose/service.py", line 579, in execute_convergence_plan return self._execute_convergence_recreate( File "/usr/lib/python3/dist-packages/compose/service.py", line 499, in _execute_convergence_recreate containers, errors = parallel_execute( File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute raise error_to_reraise File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer result = func(obj) File "/usr/lib/python3/dist-packages/compose/service.py", line 494, in recreate return self.recreate_container( File "/usr/lib/python3/dist-packages/compose/service.py", line 612, in recreate_container new_container = self.create_container( File "/usr/lib/python3/dist-packages/compose/service.py", line 330, in create_container container_options = self._get_container_create_options( File "/usr/lib/python3/dist-packages/compose/service.py", line 921, in _get_container_create_options container_options, override_options = self._build_container_volume_options( File "/usr/lib/python3/dist-packages/compose/service.py", line 960, in _build_container_volume_options binds, affinity = merge_volume_bindings( File "/usr/lib/python3/dist-packages/compose/service.py", line 1548, in merge_volume_bindings old_volumes, old_mounts = get_container_data_volumes( File "/usr/lib/python3/dist-packages/compose/service.py", line 1579, in get_container_data_volumes container.image_config['ContainerConfig'].get('Volumes') or {} KeyError: 'ContainerConfig'
どうやらDockerコンテナの設定に関連するContainerConfig
キーが見つからないとのことらしいです。な〜んだ!そんなことか!って思うけどもContainerConfig
キーなど見たこともなければ設定したこともありませんし、そもそもMacのDocker上では動いていました。
なのでよくわからなかったのであるまじき行為だが、これが使い捨て環境の良いところと割り切りつつ再ビルドを行ってみました。ただ再ビルドは以下ではありません。
これだとまた同じエラーが発生しますので以下の手順を行いました。
それぞれの内容を説明すると、
としたことでめでたくWSL2上のコンテナも起動しました。
関連記事