安装docker的事项,以及使用情况

下载dockers desktop 

提示

WSL 2 installation is incomplete.

解决下载最新的

https://link.csdn.net/?target=https%3A%2F%2Fwslstorestorage.blob.core.windows.net%2Fwslblob%2Fwsl_update_x64.msi

重启电脑的时候,可能报错

执行命令(cmd窗口)

cd "C:Program FilesDockerDocker"
DockerCli.exe -SwitchDaemon

 删除   docker system prune -a

第一个坑,因为我的是win10 家庭版,然后安装dockers desktop 安装很顺利,然后执行docker build命令时,总是提示

open /var/lib/docker/overlay2/cb7414af6f42ab54e1d3691e516e93a66209d9fa1ab64ebe063e3ec040a05f1c/committed: no such file or directory

重装好几次docker都是一样,后面查到Hyper-V 这个要开启,然后百度开启的方法,还是同样的错误,电脑也开启了虚拟化,还是没什么用,后面查到不能直接装,但是我的为什么可以直接装,想不明白

然后卸载dockers desktop,安装DockerToolbox,运行报错(前面安装Hype-v的锅)

Running pre-create checks...
Error with pre-create check: "Hyper-V is installed. VirtualBox won't boot a 64bits VM when Hyper-V is activated. If it's installed but deactivated, you can use --virtualbox-no-vtx-check to try anyways"
Looks like something went wrong in step ´Checking if machine default exists´

然后在控制面板-》控制程序开启和关闭 hype-v取消,重启,没有什么用,解决方案

文件(根据你安装的位置):C:Program FilesDocker ToolboxStart.sh

新增 --virtualbox-no-vtx-check部分(倒数第二行)

STEP="Checking if machine $VM exists"
if [ $VM_EXISTS_CODE -eq 1 ]; then
  "${DOCKER_MACHINE}" rm -f "${VM}" &> /dev/null || :
  rm -rf ~/.docker/machine/machines/"${VM}"
  #set proxy variables if they exists
  if [ "${HTTP_PROXY}" ]; then
    PROXY_ENV="$PROXY_ENV --engine-env HTTP_PROXY=$HTTP_PROXY"
  fi
  if [ "${HTTPS_PROXY}" ]; then
    PROXY_ENV="$PROXY_ENV --engine-env HTTPS_PROXY=$HTTPS_PROXY"
  fi
  if [ "${NO_PROXY}" ]; then
    PROXY_ENV="$PROXY_ENV --engine-env NO_PROXY=$NO_PROXY"
  fi
  "${DOCKER_MACHINE}" create -d virtualbox --virtualbox-no-vtx-check  $PROXY_ENV "${VM}"
fi

第二个问题

再次运行报

Error creating machine: Error in driver during machine creation: Unable to start the VM: exit status 1

发现是docker quick start安装时自带的virtualbox不是最新版本,解决办法就是安装最新的版本,搞定

然后,我再biu一下,心想应该没什么问题了,啪,很快啊,

image operating system "windows" cannot be used on this platform

然后vs新建docker把windows改成linux

好像离成功越来越近了,再次运行bulid 命令,运行到step 8/17 时,又来一个error,血压已经上来了,

COPY failed: stat /var/lib/docker/tmp/docker-builder268095359/xxxxxxx.csproj no such file or directory.

原因微软生成的Dockerfile是要跟xxx.sln放在同级目录的, 不是跟xxxxx.csproj放一个目录的, 还一直纳闷, 为什么微软生成的东西, 还不能直接用了, 不科学啊.

然后再一次build,终于成功

运行成功之后要记住一个ip:docker is configured to use the default machine with IP 192.168.99.100 后面访问的时候需要用到。并不是localhost或者127.0.0.1。

总结:我在公司win10专业版,一键安装,什么问题都没有遇到,然后这个家庭版,花了我一天的时间才搞出来,坑太多,不过最后还是解决了

 重启docker ,一直报Docker failed to initialize 

将 C:UsersAdministratorAppDataRoaming 目录下Docker目录改名为Docker_backup(实际上就是删除并备份),启动 Docker for windows.exe,提示docker没有启动,点击启动docker一切恢复如初,原来的容器和镜像都在

原文地址:https://www.cnblogs.com/carlpeng/p/15055912.html