下面的练习只适合已经安装 Docker、并且有权限使用 Docker 的实验环境。加入 docker 用户组意味着获得很高的主机权限,不应把它当作普通的“免 sudo 小技巧”。
镜像是模板,容器是运行实例
docker image ls
docker container ls -a镜像可以被重复使用;容器则有自己的生命周期。先观察这两张列表,后面每做一步再看一次,理解状态怎样变化。
启动一个临时网页服务
docker run --name web-lab --rm -d -p 127.0.0.1:8080:80 nginx:alpine
docker ps
curl -I http://127.0.0.1:8080/端口映射前的 127.0.0.1 表示只在宿主机本地监听,适合练习。若去掉这一限制,服务可能暴露给外部网络,必须先确认防火墙和访问控制。--rm 让容器停止后自动删除,但不会删除下载的镜像。
看日志并结束实验
docker logs --tail 30 web-lab
docker stop web-lab
docker ps -a访问一次网页后再看日志,会更容易把请求和日志对应起来。若名字已被占用,先检查现有容器,别直接删除不认识的实例。
参考:Docker 运行容器文档 · Docker 日志文档
封面插画:unDraw(https://undraw.co/license)。
验证实验生命周期
开始前运行 docker ps -a,确认 web-lab 名称和本机 8080 没有冲突,再启动示例。预期 curl 返回 HTTP 响应,docker logs 出现对应请求;stop 后容器因 --rm 被移除,镜像仍保留。nginx:alpine 是可变化标签,学习时可用,正式发布需记录实际镜像 ID 或 digest。不要为名称冲突删除未知容器。
内容复核与修订:2026-10-29。实验示例与本站运行记录分别说明;原始归档日期保留。
评论 (0)