Docker 入门:新手最常用的 10 条命令
刚接触 Docker 的时候,面对官方文档里上百条命令,很多人会无从下手。其实在日常开发里,真正天天打交道的也就是下面这 10 条。把它们练熟,就能走完"拉镜像、跑容器、查日志、清资源"的完整流程。
一、docker pull:把镜像拉到本地
镜像可以理解成容器的"安装包"。想运行某个软件,先把它的镜像拉下来:
docker pull nginx:latest
不写版本号默认就是 latest。不过建议新手养成显式写版本的习惯,比如 nginx:1.25,这样团队协作时大家的环境才一致。
二、docker images:看看本地有哪些镜像
用久了,本地镜像越堆越多,磁盘莫名其妙就满了。先来看看都有些什么:
docker images
输出里有镜像名、版本、ID、创建时间和大小。清理磁盘之前,先到这里认认"凶手"。
三、docker run:把镜像跑成容器
这是 Docker 里最核心的一条命令:
docker run -d -p 8080:80 --name my-nginx nginx:latest
几个参数要记住:-d 让容器在后台运行;-p 做端口映射,格式是"主机端口:容器端口";--name 给容器起个名字,后面操作方便。如果本地还没有这个镜像,run 会自动先 pull,一步到位。
四、docker ps:查看容器状态
容器跑起来之后,用 ps 确认它是不是真的在跑:
docker ps
加上 -a 可以把停掉的容器也列出来。新手最常问的"我的容器去哪了",答案多半在这里:容器启动后立刻退出了,用 docker ps -a 才能看到它。
五、docker stop / docker start:停一停、再跑起来
容器不用删,只是暂时不想让它跑:
docker stop my-nginx
docker start my-nginx
stop 会给容器里的进程留一点时间做收尾,比较"温柔"。如果遇到怎么都停不掉的,再用 docker kill 强制结束。
六、docker rm / docker rmi:删除容器和镜像
做实验留下的容器、过期的镜像,记得随手清理:
docker rm my-nginx
docker rmi nginx:latest
顺序别反了:镜像正被某个容器使用时是删不掉的,得先删容器。偷懒的话,一条 docker container prune 就能清掉所有已停止的容器。
七、docker exec:钻进正在运行的容器
想看看容器里的文件、手动调调配置:
docker exec -it my-nginx /bin/bash
-it 表示打开一个可交互的终端。有些精简镜像里没有 bash,换成 /bin/sh 即可。这是排查"容器里面到底什么样"最直接的手段。
八、docker logs:不进容器也能看日志
应用在容器里打了什么日志,一条命令就能看:
docker logs my-nginx
docker logs -f --tail 100 my-nginx
加上 -f,日志会像 tail -f 那样实时滚动;--tail 100 只看最后 100 行。服务起不来的时候,先看日志再动手,能少走很多弯路。
九、docker cp:主机和容器之间传文件
调试时经常要把改好的配置文件塞进容器,或者把容器里生成的文件拿出来分析:
docker cp ./nginx.conf my-nginx:/etc/nginx/nginx.conf
docker cp my-nginx:/var/log/nginx ./logs
这比改一次配置就重新 build 镜像快得多。不过要记住:容器删掉后,拷进去的文件也会消失,重要数据请用数据卷保存。
十、docker build:打出自己的镜像
当前面的命令都玩熟了,就可以把自己的应用打包成镜像。在放好 Dockerfile 的目录里执行:
docker build -t my-app:1.0 .
-t 是给镜像起名字打标签,最后那个点代表 Dockerfile 就在当前目录。构建成功后,再用 docker run 把它跑起来——从"用别人的镜像"到"做自己的镜像",这一步是个分水岭。
写在最后
建议新手按这个顺序练一遍:pull 拉镜像 → run 跑起来 → ps 看状态 → exec 钻进去逛逛 → logs 看日志 → stop/start 启停 → rm/rmi 清理干净,最后试着 build 一个属于自己的镜像。把这 10 条命令亲手敲上两三遍,Docker 的日常操作基本就不会卡壳了。
- 点赞
- 收藏
- 关注作者
评论(0)