最近在安装Docker时,结果安装失败,提示信息:
Docker for Windows requires Windows 10 Pro or Enterprise version等信息
显然是我的计算机系统不符合安装要求。然后查了资料,解决了安装问题。
我的系统是Windows 10 家庭中文版 64位系统。
快捷键 Win+R,输入:control 然后确定
查看方式选择【小图标】,找到点击【程序和功能】
选择左侧的【启用或关闭Windows功能】
查看是否包含【Hyper-V】这一项(如果包含,并选中此项,跳过 步骤2【安装Hyper-V】)
在桌面创建hyperv.txt文件,并将下面脚本复制到文件中,保存关闭,修改文件名为hyperv.cmd
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
hyperv.cmd文件,鼠标右击该文件,选择【以管理员身份运行】,然后会弹出命令行窗口自动安装,安装完成后会提示是否重启计算机,命令行输入: y (注意:在重启前 建议先把其他软件关闭)
重启完成后,按照步骤1检查【Hyper-V】是否成功安装,并勾选它。
将版本修改为专业版,在命令行输入然后回车:
REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T REG_EXPAND_SZ /d Professional /F
从官方下载最新版安装包
下载完成后,双击安装
会弹出确认窗口,有3个勾选的选项(老版本可能只有2个选项),将这3个全部取消勾选,然后安装即可
安装完成后,点击【开始】,在【最近添加】里面找,如下图。(你可以新建应用的桌面快捷方式,也可以拖拽至右侧,方便使用,看个人习惯)
运行Docker Desktop软件,我们可以打开工作台查看我们安装的一些镜像
工作台还是空的,需要哪些镜像可以去官网查找
// 查看版本
docker version
docker images [options]
OPTIONS说明:
-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
--digests :显示镜像的摘要信息;
-f :显示满足条件的镜像;
--format :指定返回值的模板文件;
--no-trunc :显示完整的镜像信息;
-q :只显示镜像ID。
// 从镜像仓库中拉取或者更新指定镜像
docker pull [options] name
OPTIONS说明:
-a :拉取所有 tagged 镜像
--disable-content-trust :忽略镜像的校验,默认开启
// 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker push [OPTIONS] NAME[:TAG]
OPTIONS说明:
--disable-content-trust :忽略镜像的校验,默认开启
// 列出容器
docker ps [options]
OPTIONS说明:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
// 查看容器中运行的进程信息,支持 ps 命令参数
docker top
// 创建一个新的容器并运行一个命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
--volume , -v: 绑定一个卷
// 启动、停止、重启容器
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
// 杀掉一个运行中的容器
docker kill [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
-s :向容器发送一个信号
// 删除一个或多个容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
-f :通过 SIGKILL 信号强制删除一个运行中的容器。
-l :移除容器间的网络连接,而非容器本身。
-v :删除与容器关联的卷。
// 获取容器的日志
docker logs [OPTIONS] CONTAINER
OPTIONS说明:
-f : 跟踪日志输出
--since :显示某个开始时间的所有日志
-t : 显示时间戳
--tail :仅列出最新N条容器日志