Docker 入门:三条命令跑起你的第一个容器
第一次接触 Docker 的开发者,常会被一堆新名词吓住:镜像、容器、仓库、Dockerfile。其实入门只需要理解一个核心想法:把应用和它依赖的环境打成一个标准化的包,在哪里运行都一样。
一、容器和虚拟机有什么不同
虚拟机是模拟一整台电脑:从操作系统内核到驱动都要虚拟一份,又重又慢。容器不一样,它直接复用宿主机的操作系统内核,只打包应用本身和它需要的库文件,启动只要一两秒,占用也只有几十 MB。可以这样理解:虚拟机是每户人家各盖一栋楼,容器是大家合住一栋楼,每家只装修自己的房间。
二、安装完成后先验证
在官网下载安装 Docker Desktop 后,打开终端执行:
docker --version
docker run hello-world
如果第二条命令输出了欢迎信息,说明 Docker 已经可以正常工作。hello-world 是官方提供的最小测试镜像,第一次运行时会自动从镜像仓库下载。
三、三条命令跑起你的第一个容器
这里以 Nginx 为例:
docker pull nginx:alpine
docker run -d -p 8080:80 --name my-web nginx:alpine
第一条命令拉取镜像,alpine 是轻量版,体积只有几十 MB;第二条命令以后台方式启动容器,并把容器内的 80 端口映射到本机的 8080 端口。执行完成后,在浏览器打开 localhost:8080,就能看到 Nginx 的欢迎页,你的第一个容器化应用已经跑起来了。
第三条命令用来确认状态:
docker ps
它会列出正在运行的容器,包括容器 ID、镜像名、端口映射和运行时间。
四、日常最常用的五条命令
docker ps 查看正在运行的容器,加上 -a 可以看到所有容器;docker logs my-web 查看容器日志,是排障的第一步;docker stop my-web 停止容器;docker rm my-web 删除已停止的容器;docker images 查看本地已下载的镜像。把这五条命令练熟,日常使用基本够用。
五、新手最容易踩的三个坑
第一,容器默认是“用完即走”的:容器被删除后,写在容器内部的数据也会消失。需要长期保存的数据要用卷挂载出来,比如 docker run -v /data:/app。第二,端口映射的顺序是“本机端口:容器端口”,写反了访问不到服务。第三,镜像名后面最好写上标签,例如 nginx:alpine,不要用默认的 latest,版本固定下来部署才可重复。
结语
从今天起,遇到“在我电脑上能跑”的问题,先想想能不能把它装进容器。Docker 的入门门槛并不高:理解镜像与容器的关系,跑通一次拉取、启动、访问的完整流程,剩下的命令都可以在实践中慢慢积累。下一篇,我会写如何用 Dockerfile 把自己的 Python 小项目打包成镜像,欢迎关注。
- 点赞
- 收藏
- 关注作者
评论(0)