运行 dockerd.exe 启动 Docker 守护进程

Sha*_*kia 2 daemon docker

我知道为了运行 Docker 守护进程,我应该停止 Docker Window 并在资源文件夹中运行 dockerd.exe。但是,当我想通过命令提示符执行它时,出现以下错误:

time="2020-09-10T15:22:48.798108400+04:30" level=info msg="Starting up"
failed to start daemon: a required service is not installed, ensure the Containers feature is 
installed: Access is denied.
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我解决问题或建议其他方式来运行 Docker 守护进程吗?

小智 5

将 docker.exe (cli) 和 dockerd.exe (service) 下载到本地文件夹。将文件夹添加到路径。将文件夹添加到环境变量中的 $PATH。在下面的示例中 C:\Docker\

https://download.docker.com/win/static/stable/x86_64/

在“编辑本地用户和组”下创建一个新用户组。名称为 docker-users 或更新下面的 Json 文件。将需要运行 docker 的任何人添加到该组。

创建一个新的配置文件 daemon.json

{
                "group": "docker-users",
}
Run Code Online (Sandbox Code Playgroud)

以管理员身份在 powershell 中运行此命令

New-Service -Name Docker -BinaryPathName "C:\docker\dockerd.exe  --run-service --config-file C:\docker\daemon.json" -DisplayName "Docker Engine" -StartupType "Automatic"
Run Code Online (Sandbox Code Playgroud)

奖励:旧版 Docker-compose cli 可在此处使用, https://github.com/docker/compose/releases

注意:我在重新启动后自动启动服务时遇到了一些问题。