在日常开发和部署中,ref="/tag/2019/" style="color:#E3A3CF;font-weight:bold;">Docker 已经成了很多人离不开的工具。不管是本地调试服务,还是上线部署应用,用好 Docker 命令能省下不少时间。尤其是在配置显示环境或调试图形化应用时,容器的快速启停和隔离特性特别有用。
查看 Docker 状态
刚装好 Docker 或者不确定它是否正常运行,可以先检查一下状态:
docker info
这条命令会输出 Docker 引擎的详细信息,包括镜像数量、容器状态、存储驱动等。如果只是想确认服务有没有跑起来,可以用:
docker version
镜像相关操作
镜像是容器的基础,拉取镜像最常用的命令是 pull:
docker pull nginx:alpine
这里拉取的是轻量版 Nginx 镜像。如果不加标签,默认会拉 latest 版本。查看本地已有镜像:
docker images
删除不用的镜像也很简单:
docker rmi nginx:alpine
启动和管理容器
用 run 启动一个容器是最常见的操作。比如想快速跑一个 Nginx 服务预览页面:
docker run -d -p 8080:80 --name my-nginx nginx:alpine
其中 -d 表示后台运行,-p 实现端口映射,--name 给容器起个名字方便后续管理。这时候打开浏览器访问 localhost:8080 就能看到欢迎页了。
查看正在运行的容器:
docker ps
想看所有容器(包括已停止的),加个 -a 参数:
docker ps -a
进入容器内部
有时候需要进容器里看看文件或者调试配置,比如修改 Nginx 的站点配置:
docker exec -it my-nginx sh
-it 表示交互式终端,sh 进入轻量 shell。如果是 Debian 系基础镜像,可能要用 bash。
停止和删除容器
用完的容器别忘了清理。停止运行中的容器:
docker stop my-nginx
再执行 rm 删除:
docker rm my-nginx
如果想一条命令干两件事,可以加 -f 强制移除:
docker rm -f my-nginx
日志查看与调试
容器启动后出问题,第一反应应该是看日志。比如前端页面打不开,可能是服务没起来:
docker logs my-nginx
想实时跟踪日志输出,加上 -f 参数,就像 tail -f 一样:
docker logs -f my-nginx
构建自定义镜像
写了个小应用想打包?得用 Dockerfile 和 build 命令。假设当前目录有 Dockerfile:
docker build -t my-app:v1 .
-t 是打标签,最后的点表示上下文路径。构建完成后就能像其他镜像一样 run 起来。
清理资源
用久了会发现磁盘被各种缓存占满。一键清理停止的容器、无用镜像和网络:
docker system prune
想连镜像也清掉,加 -a 参数,但要小心别误删正在用的:
docker system prune -a