Docker 入门:第一次跑容器前先搞懂的 5 个概念
刚接触 Docker 时,最容易被镜像、容器、仓库、数据卷、网络这些名词绕晕。其实第一次跑容器不用先背完整文档,先把下面五个概念的边界分清楚,后面学命令会轻松很多。
1. 镜像:只读的模板
镜像是一个打包好的运行模板,里面装着基础文件、运行环境和应用代码。它是只读的,我们不会直接改镜像,而是用它创建容器。写镜像名时最好带上标签,例如 nginx:1.27,冒号后就是版本;不写标签时默认往往是 latest,但它不等于最稳,记录时建议显式写清版本。
2. 容器:镜像跑起来的实例
如果镜像是菜谱,容器就是按菜谱做出来的那盘菜。同一个镜像可以启动很多个容器,每个容器都有独立的文件系统和进程空间,互不干扰。容器停止后,里面临时产生的数据通常不会自动保留,所以重要数据不要只写在容器内部。第一次体验可以用 hello-world 验证环境,它只是打印几行提示就退出。
3. 仓库与标签:镜像从哪里来
镜像一般存放在仓库里,下载到本地后才能使用。标签用来区分版本,同一个名字可能对应很多版本,升级或回滚,本质上就是换一个标签重新启动。写笔记和部署说明时,把完整镜像名和标签都写出来,不要只写简称,否则换一台机器很难复现。
4. 数据卷:让数据活过容器
容器删掉后,内部临时文件也会跟着消失。数据卷把容器里的某个目录,和宿主机目录或专门管理的存储空间关联起来,数据库文件、上传文件和配置文件都可以这样保存,容器重建后数据还在。但要注意,数据卷不会随容器删除自动清空,磁盘占用和旧数据残留,很多时候都源于这里没有清理。
5. 网络与端口:怎么访问容器里的服务
容器有自己的网络环境,服务默认只在容器内部能访问。想从浏览器访问,就要做端口映射,例如把宿主机 8080 端口映射到容器 80 端口,访问宿主机 8080 就能看到容器里的网页。如果端口冲突,往往不是服务没启动,而是宿主机端口已被占用,换一个空闲端口再试,问题就容易定位。
总结:镜像是模板,容器是实例,仓库负责分发,数据卷负责留住数据,端口映射负责让外部访问。先理顺这条主线,再学 Dockerfile、编排和日志排查,都会顺很多。
- 点赞
- 收藏
- 关注作者
评论(0)