版本信息确认
需要区分 windows 是 amd64 还是 arm64
powershell 中执行:
> echo $env:PROCESSOR_ARCHITECTURE
AMD64
需要区分 windows 是 amd64 还是 arm64
powershell 中执行:
> echo $env:PROCESSOR_ARCHITECTURE
AMD64
以下为 Docker 最常用命令的分类整理表格,涵盖镜像管理、容器操作、网络与存储等核心场景:
命令 | 说明 | 常用参数示例 |
---|---|---|
docker pull : |
拉取镜像 | docker pull nginx:latest |
docker images |
查看本地镜像 | docker images -a (含中间层镜像) |
docker rmi |
删除镜像 | docker rmi -f $(docker images -q) (强制删除所有镜像) |
docker build -t . |
构建镜像 | docker build -t myapp:v1 -f Dockerfile.prod . |
docker push |
推送镜像到仓库 | docker push myuser/myapp:latest |
学习 Docker 是一个循序渐进的过程,从理解基础概念到实际应用再到生产环境部署。
以下是一个系统化的学习路径,帮助你从零开始掌握 Docker:
撰写日期:2025年7月19日
1.1 核心概念
Docker是一种轻量级容器化技术,通过共享宿主机操作系统内核实现高效虚拟化。
与传统虚拟机(VM)相比,其启动速度更快(约1秒 vs. 35秒)、资源消耗更低(内存占用减少50%以上),且提供一致的跨环境运行能力。
FROM
(基础镜像)、RUN
(执行命令)、COPY
(复制文件)等指令。容器 = cgroup + namespace + rootfs + 容器引擎
时下最热的技术莫过于Docker了,很多人都觉得Docker是个新技术,其实不然,Docker除了其编程语言用go比较新外,其实它还真不是个新东西,也就是个新瓶装旧酒的东西,所谓的The New “Old Stuff”。
ps: 这里也可以发现我们平时对于新技术的一直追求,其实只是因为没有掌握其核心原理而已。
Docker和Docker衍生的东西用到了很多很酷的技术,我会用几篇文章来把这些技术给大家做个介绍,希望通过这些文章大家可以自己打造一个山寨版的docker。
当然,文章的风格一定会尊重时下的“流行”——我们再也没有整块整块的时间去看书去专研,而我们只有看微博微信那样的碎片时间(那怕我们有整块的时间,也被那些在手机上的APP碎片化了)。
rootfs 代表一个 Docker 容器在启动时(而非运行后)其内部进程可见的文件系统视角,或者叫 Docker 容器的根目录。
先来看一下,Linux 操作系统内核启动时,内核会先挂载一个只读的 rootfs,当系统检测其完整性之后,决定是否将其切换到读写模式。
Docker 沿用这种思想,不同的是,挂载rootfs 完毕之后,没有像 Linux 那样将容器的文件系统切换到读写模式,而是利用联合挂载技术,在这个只读的 rootfs 上挂载一个读写的文件系统,挂载后该读写文件系统空空如也。
Docker 文件系统简单理解为:只读的 rootfs + 可读写的文件系统。
$ docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
现在 Docker 有专门的 Win10 专业版系统的安装包,需要开启Hyper-V。
windows 直接搜索【启用或关闭Windows功能】
选中 Hyper-V
windows11 这里是华为系统,可能描述不同
windows 直接搜索【启用或关闭Windows功能】
打开虚拟机功能
打开任务管理器,查看性能选项卡中的CPU信息,在右下角可以看到虚拟化是否开启。如未开启需要重启到BIOS中进行修改。
新版本的windows11在启用或关闭windows功能上隐藏较深。原win10系统只需要在设置中搜索启用或关闭windows功能即可。