Docker安装

资源下载

链接: https://pan.baidu.com/s/1B6JbwZD5jM86vy8sryOusQ
提取码: 4p5t 资源包含 Docker的exe文件以及wsl2的更新包

打开电脑的 Hyper-v

http://blogimgbucketxun.oss-cn-beijing.aliyuncs.com/xiaoYiXun/common/20210301_10383255.png

该固件中的虚拟化支持被禁用

这个地方可能 Hyper—V会无法勾选,提示虚拟化支持被禁用

  • 首先重启进入BIOS界面
  • 进入CPU Configuration设置界面,在底部可以看到Intel Virtualization Technology设置项。
  • 把它设置为Enabled,这样就开启了CPU的虚拟化支持功能。最后保存退出BIOS设置。
  • 再次进入,就可以使用了。

设置好之后再安装Docker

WSL 2 installation is incomplete.

安装后启动报错WSL 2 installation is incomplete.

首先确保勾选Windows功能:

http://blogimgbucketxun.oss-cn-beijing.aliyuncs.com/xiaoYiXun/common/20210301_1046203.png

可能还是会出现以下异常:

http://blogimgbucketxun.oss-cn-beijing.aliyuncs.com/xiaoYiXun/common/20210301_10473257.png

可能是我们使用的wsl2版本老了,需要我们自己手动更新一下。

switch to windows containers

安装docker成功后,右下角右键docker图标,点击switch to windows containers,这的意思就是转换为windows下的容器,这里分两种,一种是windows一种是linux。

出现异常

点击switch to windows containers后出现错误

基于WSL2 的 Docker Desktop 启动时 Failed to set version to docker-desktop: exit code: -1的解决方法

还伴随着一堆日志

stderr: 
   在 Docker.ApiServices.WSL2.WslShortLivedCommandResult.LogAndThrowIfUnexpectedExitCode(String prefix, ILogger log, Int32 expectedExitCode) 位置 C:\workspaces\PR-15077\src\github.com\docker\pinata\win\src\Docker.ApiServices\WSL2\WslCommand.cs:行号 146
   在 Docker.Engines.WSL2.WSL2Provisioning.<ProvisionAsync>d__8.MoveNext() 位置 C:\workspaces\PR-15077\src\github.com\docker\pinata\win\src\Docker.Desktop\Engines\WSL2\WSL2Provisioning.cs:行号 82
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
   在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   在 Docker.Engines.WSL2.LinuxWSL2Engine.<DoStartAsync>d__25.MoveNext() 位置 C:\workspaces\PR-15077\src\github.com\docker\pinata\win\src\Docker.Desktop\Engines\WSL2\LinuxWSL2Engine.cs:行号 99
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
   在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   在 Docker.ApiServices.StateMachines.TaskExtensions.<WrapAsyncInCancellationException>d__0.MoveNext() 位置 C:\workspaces\PR-15077\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-15077\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-15077\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:行号 92

解决办法:

  • 管理员方式执行cmd命令
  • netsh winsock reset
    然后重新启动docker再次点击switch to windows containers,就可以了

以上错误都是本人安装时出现的异常,可能是因为电脑环境问题,所以并不是所有人都会有一样的情况,可能不会报错,也可能会出现其他异常。我这里只是把我自己遇见的异常以及解决办法做了个归纳总结

配置修改

右键图标,点击setting

http://blogimgbucketxun.oss-cn-beijing.aliyuncs.com/xiaoYiXun/common/20210301_10591472.png

  • registry-mirrors修改为镜像加速地址,我这里用的是阿里云的镜像仓库,里面有加速地址,复制过去就行
  • experimental一定要修改为true,不然当你打包的时候回初问题。

加速地址获取:https://github.com/yeasy/docker_practice/blob/master/install/mirror.md

然后打开命令控制台,输入docker -v 查看docker版本,到此docker 已经安装成功了

IDEA配置docker

  1. 安装docker插件,不过现在的IDEA都自带
  2. 打开file->setting->build->docker
    • 先暴露一下端口,不然idea连不上
      http://blogimgbucketxun.oss-cn-beijing.aliyuncs.com/xiaoYiXun/common/20210301_11042178.png
    • 点+号,所有的都是默认配置,下方出现connection successful,则表明你已成功
      http://blogimgbucketxun.oss-cn-beijing.aliyuncs.com/xiaoYiXun/common/20210301_11054727.png
    • 同样点击下面的Registry,然后点+号,填入你的docker账号信息 http://blogimgbucketxun.oss-cn-beijing.aliyuncs.com/xiaoYiXun/common/20210301_11102248.png
  3. 在idea控制输入docker images ,如果不报错就说明你已经搭建完成了