Docker是大型架构核心,下面我详解Docker命令@mikechen
1. docker version
查看Docker版本信息。
docker version
输出示例:
Client:
Version: 28.0.0
Server:
Engine:
Version: 28.0.0
常用于:
- 检查Docker版本
- 排查客户端与服务端兼容问题
2. docker images
查看本地镜像列表。
docker images
输出:
REPOSITORY TAG IMAGE ID
nginx latest a12b34cd
mysql 8.0 b23c45de
redis 7.2 c34d56ef
查看镜像大小:
docker images
会显示:
SIZE
字段。
3. docker pull
拉取镜像。
拉取最新版:
docker pull nginx
指定版本:
docker pull mysql:8.0
生产环境推荐:
docker pull nginx:1.27.5
避免使用:
latest
防止版本升级导致兼容问题。
4. docker run
创建并启动容器。
最简单启动方式:
docker run nginx
后台运行:
docker run -d nginx
指定容器名称:
docker run -d --name nginx01 nginx
端口映射:
docker run -d \
--name nginx01 \
-p 80:80 \
nginx
查看访问:
http://服务器IP
5. docker ps
查看运行中的容器。
docker ps
查看全部容器:
docker ps -a
只查看容器ID:
docker ps -q
运维排查最常用命令之一。
6. docker logs
查看容器日志。
查看日志:
docker logs nginx01
实时查看:
docker logs -f nginx01
查看最近100行:
docker logs --tail 100 nginx01
生产问题排查必备。
7. docker exec
进入容器执行命令。
进入Linux Shell:
docker exec -it nginx01 bash
部分镜像使用:
docker exec -it nginx01 sh
查看目录:
docker exec -it nginx01 ls /
用途:
- 查看配置
- 调试程序
- 检查运行环境
8. docker stop
停止容器。
docker stop nginx01
停止多个容器:
docker stop nginx01 nginx02
停止所有容器:
docker stop $(docker ps -q)
线上执行需谨慎。
9. docker start
启动已停止容器。
docker start nginx01
重启容器:
docker restart nginx01
10. docker rm
删除容器。
删除停止状态容器:
docker rm nginx01
强制删除:
docker rm -f nginx01
批量删除停止容器:
docker container prune
11. docker rmi
删除镜像。
docker rmi nginx
删除指定版本:
docker rmi mysql:8.0
强制删除:
docker rmi -f nginx
注意:
必须先删除依赖该镜像的容器。
12. docker build
构建镜像。
项目目录:
project
├── Dockerfile
└── app.jar
构建镜像:
docker build -t order-service:v1 .
参数说明:
| 参数 | 说明 |
|---|---|
| -t | 镜像名称 |
| . | 当前目录 |
Dockerfile示例:
FROM openjdk:21
COPY app.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]
构建:
docker build -t app:v1 .
13. docker inspect
查看容器详细信息。
常用于:
- 查看网络
- 查看挂载卷
- 查看环境变量
- 查看端口映射
docker inspect nginx01
查看IP:
docker inspect nginx01
输出:
"IPAddress":"172.17.0.2"