docker 的命令

镜像相关(image)

docker pull nginx:latest # 拉镜像

docker images # 看本地有哪些镜像

docker rmi nginx # 删镜像(有容器在用就删不掉)

docker build -t myapp:1.0 . # 用当前目录 Dockerfile 构建镜像

docker tag myapp:1.0 myapp:latest # 打 tag

docker save myapp > myapp.tar # 镜像导出成文件

docker load < myapp.tar # 从文件导入镜像

容器相关

启停

docker run -d -p 8080:80 --name web nginx # 后台跑 + 端口映射 + 起名字

docker run -it ubuntu /bin/bash # 交互式进容器

docker ps # 正在跑的容器

docker ps -a # 所有容器(含已退出的)

docker start web / docker stop web / docker restart web

docker rm web # 删容器(要先 stop)

docker rm -f web # 强制删(不用先 stop)

docker run --rm alpine echo hi # 跑完自动删容器(调试好用)

进容器 / 看日志

docker exec -it web /bin/bash # 进正在跑的容器(bash)

docker exec -it web sh # alpine 没 bash,用 sh

docker logs web # 看 stdout 日志

docker logs -f --tail 100 web # 实时追 100 行

资源 / 信息

docker inspect web # 看容器所有元数据(IP、挂载、env...)

docker stats web # 实时 CPU / 内存占用

docker top web # 容器里跑了哪些进程

网络(network)

docker network ls # 有哪些网络

docker network create mynet # 自建桥接网络(容器间通 hostname)

docker network connect mynet web # 把容器挂到网络上

docker network inspect mynet # 看网络详情(含哪些容器)

同个自定义网络里的容器,可以直接 ping 容器名,比 --link新也稳

数据卷(volume)

docker volume ls

docker volume create data

docker run -v data:/data nginx # 挂载卷

docker run -v /host/path:/container/path nginx # 挂宿主机目录(bind mount)

docker volume prune # 删没被用的卷

清理(prune ------ 救命命令)

docker container prune # 删所有 stopped 容器

docker image prune -a # 删所有没被用的镜像(-a 连 none 以外的也清)

docker volume prune # 删没被用的卷

docker system prune -a # 全清(容器+镜像+网络+缓存,谨慎)

prune系列没二次确认,服务器上慎用 -a

Docker Compose(多容器编排,单机最常用)

docker compose up -d # 按 docker-compose.yml 启动
docker compose down # 停 + 删容器网络(卷默认不删)
docker compose down -v # 连卷一起删
docker compose logs -f # 看所有服务日志
docker compose ps

老版本是 docker-compose(带横杠),新版本 docker compose(子命令),功能一样。

系统级

docker info # Docker 引擎概览(驱动、镜像源、存储...)

docker version # 客户端 / 服务端版本

docker login # 登私有仓库

docker logout

相关推荐
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第155题】【06_Spring篇】第15题:Spring 如何解决循环依赖问题?
java·spring·循环依赖·三级缓存·aop代理
唐青枫2 小时前
Java Maven 实战指南:从 POM、依赖管理到多模块构建
java
硕风和炜2 小时前
【LeetCode: 1301. 最大得分的路径数目 + DP】
java·算法·leetcode·动态规划·dp·记忆化搜索
SamDeepThinking2 小时前
面向对象真正管理的,不是对象,而是依赖
java·后端·程序员
剑挑星河月3 小时前
94.二叉树的中序遍历
java·算法·leetcode
2301_801184753 小时前
docker 工作
java·docker·容器
老前端的功夫3 小时前
【Java从入门到入土】47:构建工具:Maven与Gradle的战争
java·python·maven
aaPIXa6223 小时前
C++模板元编程:在编译期完成计算,实现零运行时开销
java·开发语言·c++