21
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Docker for Windowsで起動時にTimeoutで失敗し、lifecycleTimeoutSecondsの値を編集しろと言われたときの対処法

Posted at

いつも通りPCを起動した際にDocker for Windosの起動に失敗し、エラーが出たので対処法が検索して見つかったのでをそれを自分なりに簡単にまとめてみました。
GitHubにissueが上がっていてそれからの引用ばかりなのでまとめといえるのかあれなのですが。

#GitHubのリンク
こんな個人のまとめよりissueを見たい方のために先にリンクを張っておきます。
issue
さらに解決法のみを見たい方のためのそこへのリンクも張っておこうと思います。
解決法

#環境
一応自分の環境を乗せておこうと思います
OS:Windows10 Pro バージョン1903
Docker Desktop バージョン2.1.0.4(39773)

#エラー
PCを起動した際にDockerの起動でエラーが出ました。
その際の画面のスクショは取り忘れてしまったのですが、似たようなエラー文をissueの中で見つけたので引用して張っておきます。

Timed out waiting for the lifecycle-server to start.
This may be the result of a slow environment or there may be a real problem.
This timeout can be increased by editing settings.json, value 'lifecycleTimeoutSeconds'.
This file is usually in C:\Users\(yourusername)\AppData\Roaming\Docker");

引用箇所
このほかに下にもう数行文章があったと思います。

#原因
これもissueに書かれていたのですがどうやら2.1.0.0で遅いマシンがタイムアウトするようになったかららしいです。
2.1.0.1のリリースノートにこのように書かれています。

Docker Desktop now supports a configurable user timeout for VMs on slower machines.

ちなみにこれをみらい翻訳で訳すと

Docker Desktopは,遅いマシン上のVMに対して,構成可能なユーザタイムアウトをサポートするようになった。

ここのDocker Desktop Community 2.1.0.1のBug fixes and minor changesに書かれてます。

#解決法
このissueの最後の書かれているのですがそれを引用させていただきます。

1, Open "Window Security"
2, Open "App & Browser control"
3, Click "Exploit protection settings" at the bottom
4, Switch to "Program settings" tab
5, Locate "C:\WINDOWS\System32\vmcompute.exe" in the list and expand it
6, Click "Edit"
7, Scroll down to "Code flow guard (CFG)" and uncheck "Override system settings"
8, Start vmcompute from powershell "net start vmcompute"

これを翻訳すると

1、「ウィンドウセキュリティ」を開きます
2、「アプリとブラウザのコントロール」を開きます
3、下部の「エクスプロイト保護設定」をクリックします
4、「プログラム設定」タブに切り替えます
5、リストで「C:\ WINDOWS \ System32 \ vmcompute.exe」を見つけて展開します
6、「編集」をクリックします
7、「コードフローガード(CFG)」まで下にスクロールし、「システム設定を上書きする」をオフにします
8、powershellからvmcomputeを開始する「net start vmcompute」

となります。
ちなみになぜこれが有効なのかはわかりませんでしたすみません。

それぞれの番号にわかりやすいよう画像を送付してみました。
1.「Windows セキュリティ」を開きます
Qiita1.png

2.「アプリとブラウザーコントロール」を開きます
Qiita2.png

3.下部の「Exploit protection」の「Exploit protectionの設定」をクリックします
Qiita3.png

4.「プログラム設定」タブに切り替えます
Qiita4.png

5.リストで「C:\Windows\System32\vmcompute.exe」を見つけて展開します
6.「編集」をクリックします
Qiita5.png

7.「制御フローガード(CFG)」まで下にスクロールし、「システム設定を上書きする」のチェックを外してオフにします
Qiita6.png

8.powershellからvmcomputeを開始します
既に起動している場合は一度net stop vmcomputeで止めてからnet start vmcompute
Hyper-Vが関連しているなどで止めるかどうかyesかnoで聞かれる場合がありますがyesと答えます。
その際にHyper-Vを使用しているものは止めても大丈夫なようにしておきましょう。
Qiita7.png

これでDocker Desktopを問題なく起動できるはずです。

#まとめ
issueに乗っていた解決法で対処できた!
ちなみにエラー画像をとるため問題を再現しようとしたのですが一度vmcomputeの設定を編集してDocker Desktopを起動した後だとCFGにチェックを入れても問題なく起動してしまい再現できませんでした。

21
24
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
21
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?