如何在Windows 10下安装Docker?
0. 在Windows子系统Kali Linux下安装Docker的尝试
总的说是失败了,当然可以考虑利用Windows和Linux配合来实现,但毕竟无法完整的实现,所以就放弃了。
错误现象就是,Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
看来是Windows子系统限制了docker daemon进程的启动。
下面改为在Windows下直接安装docker。本文例子参考官网文章:《Get started with Docker for Windows》https://docs.docker.com/docker-for-windows/
1. Windows上安装Hyper-V
打开Control Panel\Programs\Programs and Features 下的Turn Windows features on or off。
Turn Windows features on or off
选择安装里面的Hyper-V组件,安装后需要重启。
2. 进入BIOS打开CPU Virtualization功能
关于如何进入BIOS可以参考另外一篇文章:https://www.jianshu.com/p/5c0f635d42dc
进入BIOS后,如果是Intel的CPU会看到设置项:Intel Virtual Technology,选择Enable即可。
保存设置,再次重启。
3. 下载Docker desktop
进入官网下载地址:https://www.docker.com/get-docker
首次需要注册账号,之后便可以免费下载。安装成功后,重启系统。
4. 初试Docker
默认Docker desktop会开机自启动。
进入Powershell便可执行docker命令。
> docker --version
5. 更换国内镜像库地址
为了避免pull镜像时网速太慢,建议更换为国内地址。
在目录%programdata%\docker\config\下创建文件daemon.json,内容为地址,比如网易的镜像。
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
6. pull和run
运行hello-world镜像,会有个检查本地然后从远程镜像库下载的过程。
> docker run hello-world
docker : Unable to find image 'hello-world:latest' locally
...
Hello from Docker!
运行ubuntu镜像,并进入bash。用exit命令退出ubuntu。
运行ubuntu运行nginx镜像,80端口,容器名为webserver。随后通过浏览器访问http://localhost即可。
> docker run --detach --publish 80:80 --name webserver nginx
停止nginx容器。
> docker container stop webserver
显示已经下载到本地的镜像列表。
> docker image ls
显示容器状态信息。
> docker container ls --all
删除容器,通过指定的名称或从容器状态信息中查看。
> docker container rm webserver