Docker是云计算核心,下面我详解Docker命令@mikechen
1. docker version / docker –version
查看 Docker 版本信息(客户端和服务端)。
docker version docker --version # 简版
2. docker info
查看 Docker 系统详细信息(镜像、容器、存储驱动、插件等)。
docker info
3. docker pull
从 Docker Hub 或仓库拉取镜像。
docker pull nginx:latest docker pull nginx:alpine # 指定版本
4. docker images(或 docker image ls)
列出本地所有镜像。
docker images docker images -q # 只显示 ID docker images nginx # 过滤
5. docker rmi
删除本地镜像(支持多个)。
docker rmi nginx:latest docker rmi $(docker images -q) # 删除所有(慎用)
6. docker build
根据 Dockerfile 构建镜像。
docker build -t myapp:1.0 . # 当前目录构建,打标签 docker build -t myapp:1.0 -f Dockerfile.dev . docker build --no-cache . # 忽略缓存
7. docker run(最重要命令)
创建并启动容器(结合很多参数)。
docker run -d -p 8080:80 --name mynginx nginx docker run -it --rm ubuntu bash # 临时交互容器 docker run -d -v /host/data:/container/data myapp
常用参数:
d:后台运行(detached);
it:交互模式 + 伪终端;
-name:容器名;
p / -publish:端口映射 主机端口:容器端口;
v / -volume:挂载卷;
-rm:退出时自动删除容器;
e / -env:环境变量;
8. docker ps
列出容器。
docker ps # 正在运行的 docker ps -a # 所有容器(含停止) docker ps -q # 只显示 ID docker ps -f name=my # 过滤
9. docker start / stop / restart
启动、停止、重启容器。
docker start mynginx docker stop mynginx docker restart mynginx docker stop $(docker ps -q) # 停止所有
10. docker rm
删除容器(必须停止)。
docker rm mynginx docker rm -f mynginx # 强制删除(即使运行中) docker rm $(docker ps -a -q) # 删除所有
11. docker exec
在运行中的容器内执行命令(最常用进入容器方式)。
docker exec -it mynginx bash # 进入 bash docker exec mynginx ls /app docker exec -it mynginx sh # alpine 常用 sh
12. docker logs
查看容器日志。
docker logs mynginx docker logs -f mynginx # 实时跟随(-f = follow) docker logs --tail 100 mynginx # 最后 100 行
13. docker attach
附加到运行中的容器(共享 stdin/stdout)。
docker attach mynginx # 退出用 Ctrl+P+Q(不停止容器)
14. docker cp
容器与主机之间复制文件。
docker cp mynginx:/app/config.yaml ./ # 容器 -> 主机 docker cp ./config.yaml mynginx:/app/ # 主机 -> 容器
15. docker commit
将容器修改提交为新镜像。
docker commit -a "author" -m "desc" container_id newimage:tag
16. docker push / docker login
推送镜像到仓库。
docker login docker tag myapp:1.0 username/myapp:1.0 docker push username/myapp:1.0
17. docker inspect
查看容器/镜像详细信息(JSON 格式)。
docker inspect mynginx
docker inspect --format='{{.State.Status}}' mynginx # 只看状态
18. docker volume
管理数据卷(持久化数据)。
docker volume ls docker volume create mydata docker volume rm mydata # run 时使用: -v mydata:/app/data
19. docker network
管理网络。
docker network ls docker network create mynet docker network rm mynet # run 时使用: --network mynet
额外高频实用命令:
docker system df:查看 Docker 占用空间;
docker system prune -a:清理无用资源(镜像、容器等);
docker tag:给镜像打标签 docker tag old new;
docker search:搜索镜像 docker search nginx;