87HE导航

Docker入门先在本机练习:镜像、端口和数据卷的区别

(更新于 2026/10/29) 开发工具
Docker容器入门本机开发
87HE编辑
87HE编辑 品牌编辑署名

87HE网站整理公开入口与实用指南时使用的品牌署名。内容依据文中列出的公开来源编写,核对范围和日期在文章中说明,不代表相关机构的官方身份。

最后核实: 2026/10/29

Docker练习先选一台自己有权管理的开发设备,不在生产服务器上试陌生命令。准备一个能随时停止的小服务,再分别观察镜像、容器、端口和数据卷。这里给的是学习路径,没有替读者安装软件、拉取镜像或测试所在网络。

安装路径先与系统匹配

从Docker官方安装入口进入对应系统说明,核对硬件、虚拟化、系统条件及许可;Docker Desktop与单独安装Engine是不同路线。组织设备还需确认管理要求,不因为教程出现某个命令就默认可以取得管理员权限。

官方概念说明将镜像作为创建容器的模板。镜像下载到本机不等于服务已经启动;同一镜像可创建多个容器,每个容器有各自运行状态。先把这两个概念分开,再理解保存数据的位置。

一个本机网页例子,读懂端口映射

依据端口发布说明,以下是开发设备上的练习命令示例,会下载并启动公开nginx镜像:

docker run -d --name he87-practice-web -p 127.0.0.1:8080:80 nginx

预期可在本机浏览器访问 http://127.0.0.1:8080。8080是宿主机端口,80是容器端口;名称已存在或端口被占用时,应先检查自己的练习容器,不随意停止其他服务。显式本机绑定用于缩小练习范围,仍应使用受支持的新版本并核对官方对旧版本及网络环境的提示。

结束网页练习可依次运行 docker stop he87-practice-web 和 docker rm he87-practice-web,只处理自己创建的这个容器。不要把本机例子直接搬到公网,也不添加特权模式或宿主系统目录挂载。

数据卷独立于某个容器

官方数据卷说明说明,具名卷的生命周期可以独立于容器。下面用同一卷写入再读取一个练习文件:

docker volume create he87-practice-data
docker run --rm --mount source=he87-practice-data,target=/data nginx sh -c 'echo demo > /data/note.txt'
docker run --rm --mount source=he87-practice-data,target=/data nginx cat /data/note.txt

预期最后一条输出 demo:前一个临时容器移除后,卷内文件仍可被后一个读取。这与把数据只写进容器可写层不同,但持久化不等于已经做过备份。此例不放数据库、密码或真实业务文件。

清理要知道删的是什么

练习前先留意命令会下载镜像、创建容器还是写入卷。完成并确认不再需要练习文件后,才单独删除自己创建的练习卷;不要复制会清理全部卷或资源的命令。容器无法启动时,先查运行状态、日志与端口,再调整一个因素重试,不反复叠加高权限选项。

官方资料核对于2026-10-29。文中命令是依据文档整理的预期示例,并非本次实机运行结果;了解开源项目再运行的方法可看开发资源查找指南。