00.Docker 常用命令

一、Docker 基础信息

1
2
3
docker version        # 查看版本
docker info # 查看系统信息(容器数、镜像数等)
docker help # 查看帮助

二、镜像(Image)相关

1.查看镜像

1
2
docker images
docker image ls

2.拉取镜像

1
2
docker pull nginx
docker pull nginx:latest

3.删除镜像

1
2
docker rmi nginx
docker rmi 镜像ID

4.清理无用镜像

1
2
docker image prune
docker image prune -a # 删除所有未使用镜像

5.查看镜像详情

1
docker inspect nginx

三、容器(Container)相关

1.运行容器

1
2
3
4
5
docker run nginx
docker run -d nginx # 后台运行
docker run -it ubuntu bash # 交互模式
docker run -p 8080:80 nginx # 端口映射
docker run --name mynginx nginx # 指定名称

2.查看容器

1
2
docker ps            # 正在运行
docker ps -a # 所有容器

3.停止 / 启动 / 重启

1
2
3
docker stop 容器ID
docker start 容器ID
docker restart 容器ID

4.删除容器

1
2
docker rm 容器ID
docker rm -f 容器ID # 强制删除

四、容器操作

1.查看日志

1
2
docker logs 容器ID
docker logs -f 容器ID # 实时日志

2.进入容器

1
2
docker exec -it 容器ID bash
docker exec -it 容器ID sh

3.文件拷贝

1
2
docker cp 文件 容器ID:/路径
docker cp 容器ID:/路径 文件

4.查看资源使用

1
docker stats

五、数据卷(Volume)

1.查看卷

1
docker volume ls

2.创建卷

1
docker volume create myvolume

3.删除卷

1
docker volume rm myvolume

4.清理无用卷

1
docker volume prune

5.挂载卷运行容器

1
2
docker run -v myvolume:/data nginx
docker run -v /宿主机目录:/容器目录 nginx

六、网络(Network)

1.查看网络

1
docker network ls

2.创建网络

1
docker network create mynet

3.删除网络

1
docker network rm mynet

4.容器连接网络

1
docker network connect mynet 容器ID

七、系统清理(非常实用)

1
2
3
docker system df            # 查看占用
docker system prune # 清理无用资源
docker system prune -a # 清理全部(慎用)

八、Docker Compose(常用)

1.启动

1
docker compose up -d

2.停止

1
docker compose down

3.查看日志

1
docker compose logs -f

4.重启

1
docker compose restart

九、进阶常用命令

1.查看端口映射

1
docker port 容器ID

2.查看容器详情

1
docker inspect 容器ID

3.重命名容器

1
docker rename 旧名 新名

4.提交容器为镜像

1
docker commit 容器ID 新镜像名

十、实战高频命令组合(强烈建议记住)

1.一键运行 Nginx

1
docker run -d -p 80:80 --name nginx nginx

2.进入运行中的容器

1
docker exec -it nginx bash

3.查看所有容器(含停止)

1
docker ps -a

4.删除所有停止容器

1
docker container prune

十一、常见坑提醒

  • docker rm​ 不能删除运行中的容器(除非 -f
  • ❗ 数据一定要用 -v 挂载,否则容器删了数据就没了
  • prune -a​ 会删除镜像,==慎用==
  • ❗ 端口冲突是最常见问题(80/443)