记录windows系统安装docker遇到的波折

前言:官方说对于Windows 10以下的用户推荐使用Docker Toolbox,对于Windows 10以上的用户 推荐使用 Docker for Windows。但是我的windows 10家庭版使用Docker for Windows最后启动的时候还是报错,说我的系统不支持,无奈之下我只能选择Docker Toolbox。

一、安装Docker Toolbox

在菜鸟上找的教程地址:https://www.runoob.com/docker/windows-docker-install.html

  1. Docker Toolbox下载地址:
    http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

    我建议把git for windows也勾上,不然后续运用Docker Quickstart Terminal的时候会报bash.exe找不到,如果遇到这个问题按如下修改:
  2. 安装完毕之后,桌面会多出三个软件,点击第一个运行:

    遇到的错误整理:
    • default boot2docker ios is out-of-date
      原因:主要是更新boot2docker,因为下载不了一直卡在那边
      解决方法:打开docker的时候把网络断掉,此时启动程序会完成一系列注册,waiting for ip的时候把网络重新连上,完成后就可以正常使用了。后续网络连着再打开docker也不会出问题了,他不会再去检查boot2docker的版本了
    • error in driver during machine oreation:unable to start the VM:exit status 1
      原因:猜测是VM版本太老旧
      解决方法:先通过安全卫士卸载掉VirtualBox,然后从https://www.virtualbox.org/wiki/Downloads 下载最新版本的VirtualBox你,安装完成后再启动docker的客户端,就可以解决了。

      之后就是安装这个。
  • 拉取镜像等操作的时候报错error response from daemon
    原因:国外镜像太慢
    解决方法:
    1.使用阿里云镜像加速器地址,镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
    image.png

    2. 登录远程服务器:docker-machine ssh default
    3.配置加速器:sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=我的镜像地址 |g" /var/lib/boot2docker/profile
    这里可能会遇到一个小问题,我没法粘贴复制,命令太长手动输入不太现实哈。如下图粘贴亲测可用

4.退出远程服务器:exit


5.重启远程服务:docker-machine restart default 这个时候再去运行hello world试试看:
docker run ubuntu:15.10 /bin/echo "Hello world"

打印出来了hello world 再也不会报错error response from daemon啦
整个艰辛的安装过程到此结束啦,后面就自己去玩吧!!

附加项

浅玩一下,如何用docker安装nginx

  1. 拉取最新的nginx镜像
$ docker pull nginx:latest
  1. 查看本地镜像
docker images
  1. 运行容器
docker run --name nginx-test -p 8080:80 -d nginx

参数说明:

  • --name nginx-test:容器名称。
  • -p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
  • -d nginx: 设置容器在在后台一直运行。


    image.png
  1. 安装成功
    我们可以通过浏览器可以直接访问 8080 端口的 nginx 服务:


在宿主机中访问localhost:8080即可看到nginx欢迎页面,但是我们电脑中是没法访问到的,因为在window中宿主机是192.168.99.100,所以访问地址是http://192.168.99.100:8080

原因:docker是运行在Linux上的,在Windows中运行docker,实际上还是在Windows下先安装了一个Linux环境,然后在这个系统中运行的docker。也就是说,服务中使用的localhost指的是这个Linux环境的地址,而不是我们的宿主环境Windows。找到这个Linux的ip地址,一般情况下这个地址是192.168.99.100(docker-machine ip default 命令查找)

你可能感兴趣的:(记录windows系统安装docker遇到的波折)