一.原理与基础概念
docker 是开源的应用容器引擎, 通俗理解, 就像将货物通过集装箱托运一样, 将应用及环境依赖通过docker打包, 快速, 保证一致地作分发与部署.
Q:为什么要用docker ? A:性能轻量,开销更低, 比传统的虚拟机更省钱.
docker运行在linux上, 严格讲它不是虚拟机, 而是一套文件隔离系统, 所以更轻量, 适合高密度部署, 也就更省钱. docker-for-win10 就是运行在 WSL2 (Windows Subsystem for Linux) 之上的.
镜像, image, 业务应用及完整依赖的打包.相当于一个安装包,负责安装各程序包 容器, container, 是镜像的实例化. 可 运行, 暂停, 删除. 镜像vs.容器 类比于 类vs.对象. 仓库, repository
二. 安装 docker
2.1 查看安装的docker
docker的运行依赖于linux内核,如果是windows的系统则需要安装一个运行linux的虚拟机。在window10及其以上的系统中可以安装hyper-v(Hyper-V 是微软开发的虚拟机)。 找到: 设置 – 应用 – 可选功能 – 更多windows功能
2.2 安装hyper-v
1、在桌面创建一个hyper.txt记事本文件,添加内容如下:
pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i" del hyper-v.txt Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
然后把hyper.txt文件改为hyper.bat文件。记住创建的是.bat文件(如以下图标),点击右键会出现“以管理员方式运行”选项(如果没有出现以管理员方式运行则可能是文件后缀不对,不是bat文件)。
最后一步点击“Y”确认,hyper-v安装完成。 然后是启动虚拟机,要启动之后才能完成下一个步骤wsl2的安装。以管理员身份运行powershell,
点击设置------->搜索------>powershell
输入以下命令
2、启动WSL(我们之前并没有安装wsl但是可以直接启动,所以猜想wsl是内置的,之后需要升级到wsl2):
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
3、启动虚拟机
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
完成以上步骤之后一定要重启电脑
3、安装wsl2
1、下载wsl2安装包:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
2、双击安装包运行。注意!! 如果出现弹窗提示“This update only applies to machines with Windows Subsystem for Linux”,很大可能是之前的虚拟机没启动起来,此时可以尝试再次执行上一步骤的2, 3 命令行,然后重启电脑,再次点击安装安装。 不行的话多重复几次 3、安装完成之后,执行以下命令切换到wsl2版本:
wsl --set-default-version 2
完成之后,继续重启电脑。
4、安装docker并初步运行
官网: Docker: Accelerated Container Application Development
然后一直点击next就安装好了
2、基本使用 在国内可能还需要修改一下配置才能拉取镜像和创建容器。点击docker桌面端应用,选择设置,修改以下配置:
{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": true, "features": { "buildkit": true }, "registry-mirrors": [ "https://alzgoonw.mirror.aliyuncs.com" ] }
然后再以管理员方式运行自己的终端,输入
docker run ubuntu:15.10 /bin/echo "Hello world"