Dockerを使用することで、インフラとアプリケーションを切り離すことができ、
Docker環境があるところへ移動、展開し開発環境をスムーズに作成できます。
WindowsからLinux環境に移動などもできます。
下記のリンクからDocker windowsをインストールします。
https://docs.docker.com/desktop/install/windows-install/
「Docker Desktop for Windows」ボタンをクリックすることで、インストーラーをダウンロードします。
インストールすると再起動が走り下記のウィンドウが表示されます。
個人利用なら無料なので「Accept」ボタンをクリックします。
WSL2のインストールが行われていない場合は下記のウィンドウが表示されますので
URLをクリックします。
下記が表示されるので、「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」のリンクをクリックして
インストーラーをダウンロードして、インストールを行います。
インストール後、Restartすると下記のエラーが表示される場合がありますが、
Dockerの再起動を行うことで解決できます。
Docker.Core.DockerException:
Failed to start
場所 Docker.Engines.LinuxkitDaemonStartup.<WaitAsync>d__5.MoveNext() 場所 C:\workspaces\PR-19568\src\github.com\docker\pinata\win\src\Docker.Engines\LinuxkitDaemonStartup.cs:行 54
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
場所 Docker.Engines.WSL2.LinuxWSL2Engine.<DoStartAsync>d__26.MoveNext() 場所 C:\workspaces\PR-19568\src\github.com\docker\pinata\win\src\Docker.Engines\WSL2\LinuxWSL2Engine.cs:行 170
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
場所 Docker.ApiServices.StateMachines.TaskExtensions.<WrapAsyncInCancellationException>d__0.MoveNext() 場所 C:\workspaces\PR-19568\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\TaskExtensions.cs:行 29
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
場所 Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__5.MoveNext() 場所 C:\workspaces\PR-19568\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:行 67
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
場所 Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__5.MoveNext() 場所 C:\workspaces\PR-19568\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:行 92
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
場所 Docker.ApiServices.StateMachines.EngineStateMachine.<StartAsync>d__14.MoveNext() 場所 C:\workspaces\PR-19568\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\EngineStateMachine.cs:行 69
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
場所 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
場所 Docker.Engines.Engines.<StartAsync>d__22.MoveNext() 場所 C:\workspaces\PR-19568\src\github.com\docker\pinata\win\src\Docker.Engines\Engines.cs:行 106
再起動するとDockerのインストールは完了です。