Docker常用命令

Docker常用命令
TM大队长容器状态
查看正在运行的容器:
1 | docker ps |
查看所有容器,包括已停止的:
1 | docker ps -a |
查看容器资源占用:
1 | docker stats |
查看容器详细信息:
1 | docker inspect container_name_or_id |
启动与停止
启动容器:
1 | docker start container_name_or_id |
停止容器:
1 | docker stop container_name_or_id |
重启容器:
1 | docker restart container_name_or_id |
删除已停止容器:
1 | docker rm container_name_or_id |
强制删除运行中的容器:
1 | docker rm -f container_name_or_id |
进入容器
进入容器的 shell:
1 | docker exec -it container_name_or_id bash |
如果容器里没有 bash,使用 sh:
1 | docker exec -it container_name_or_id sh |
在容器里执行单条命令:
1 | docker exec container_name_or_id ls -lah /app |
查看日志
查看实时日志:
1 | docker logs -f container_name_or_id |
查看最近 200 行日志:
1 | docker logs --tail=200 container_name_or_id |
查看带时间戳的日志:
1 | docker logs -f --timestamps container_name_or_id |
按时间查看日志:
1 | docker logs --since="2026-06-16T00:00:00" container_name_or_id |
镜像管理
查看本地镜像:
1 | docker images |
拉取镜像:
1 | docker pull nginx:latest |
删除镜像:
1 | docker rmi image_name_or_id |
构建镜像:
1 | docker build -t app-name:latest . |
查看镜像历史:
1 | docker history image_name_or_id |
运行容器
后台运行容器:
1 | docker run -d --name web nginx:latest |
映射端口:
1 | docker run -d --name web -p 8080:80 nginx:latest |
挂载目录:
1 | docker run -d --name web -v /srv/nginx/html:/usr/share/nginx/html nginx:latest |
设置环境变量:
1 | docker run -d --name app -e NODE_ENV=production app-name:latest |
设置自动重启:
1 | docker run -d --name app --restart unless-stopped app-name:latest |
Docker Compose
启动服务:
1 | docker compose up -d |
查看服务状态:
1 | docker compose ps |
查看服务日志:
1 | docker compose logs -f |
只看某个服务日志:
1 | docker compose logs -f service_name |
重启某个服务:
1 | docker compose restart service_name |
停止并删除服务容器:
1 | docker compose down |
重新构建并启动:
1 | docker compose up -d --build |
清理空间
查看 Docker 占用:
1 | docker system df |
清理停止的容器、未使用的网络、悬空镜像和构建缓存:
1 | docker system prune |
清理所有未使用镜像:
1 | docker image prune -a |
清理构建缓存:
1 | docker builder prune |
清理未使用的数据卷前要谨慎,可能会删除数据库等持久化数据:
1 | docker volume prune |
网络排查
查看 Docker 网络:
1 | docker network ls |
查看某个网络详情:
1 | docker network inspect network_name |
创建网络:
1 | docker network create app-network |
让容器加入网络:
1 | docker network connect app-network container_name_or_id |
文件复制
从宿主机复制文件到容器:
1 | docker cp ./config.yml container_name_or_id:/app/config.yml |
从容器复制文件到宿主机:
1 | docker cp container_name_or_id:/app/logs ./logs |
备份与迁移
导出容器文件系统:
1 | docker export container_name_or_id > container.tar |
导入为镜像:
1 | docker import container.tar app-backup:latest |
保存镜像:
1 | docker save app-name:latest > app-name.tar |
加载镜像:
1 | docker load < app-name.tar |
常见排障
查看容器为什么退出:
1 | docker ps -a |
检查端口是否映射正确:
1 | docker port container_name_or_id |
检查容器内进程:
1 | docker top container_name_or_id |
检查宿主机端口占用:
1 | ss -lntp |
检查磁盘空间:
1 | df -h |


