Docker常用命令
- 2023-10-03 22:17:00
- pjd
- 原创 147
1、查看镜像
docker images //等同于docker image ls
-REPOSITORY:仓库及镜像名称 -TAG:标签及版本号 -IMAGE ID:镜像ID,镜像的唯一标识 -CREATED:该镜像的构建时间 -SIZE: 该镜像文件的大小
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 4e07b6c361da 20 hours ago 314MB redis latest 578eb6622b1e 20 hours ago 113MB <none> <none> 38564788e3w 7 months ago 230MB
在镜像列表中,可能会出现很多镜像,没有名字,REPOSTITORY TAG 都是<none>。
服务器运行一段情况,就会出现none为名称的虚空镜像,它们来源于:原来的像像名称已经更新了,虽然旧的镜像ID依然存在,但是已经在hub上删除且没有引用,造成镜像名、标签都丢失了,变成了虚空镜像,也有叫虚悬镜像、虚无镜像。
这类镜像可以放心删除,常用清除虚空镜像的命令是:
# docker image prune WARNING! This will remove all dangling images. Are you sure you want to continue? [y/N]
2、删除本地镜像
# docker rmi xxx
下面的两种语法都可以完成镜像删除的操作:
docker rmi [选项] <镜像1> [<镜像2>.....]
docker image rm <镜像1> [<镜像2>.....]
使用 镜像ID、镜像名作为镜像的唯一标识用来删除镜像。
(1)[选项]-f 表示强制删除,有的时候同一个镜像上传到多个仓库,此时镜像ID就不再是唯一标识,需要使用-f强制删除才能删除镜像(具有同一个镜像ID的所有本地镜像全部删除)。
(2)删除镜像之前必须确认被删除的镜像,没有被任何容器使用,否则无法删除。
3、镜像的导入导出
用 save 子命令将本地仓库的镜像保存为当前目录下的tar文件。
docker save -o <自定义包名>.tar <镜像名称>
如下面的命令将 hello-world镜像导出为一个helloworld.tar存放在当前目录
# docker save -o helloworld.tar hello-world我们可以在另一台服务器上,将hello-world镜像导入,导入方法如下:
# docker load -i helloworld.tar // 不输出详细信息 # docker load < helloworld.tar // 输出详细信息
镜像导出导入功能可以用于镜像备份,在没有镜像仓库的公司中也可以使用这种tar包的方式传递镜像文件。
1. `docker system df`:查看 Docker 系统使用情况。
该命令用于查看 Docker 守护进程占用的系统资源,包括镜像、容器和数据卷的使用情况。
示例:
```
docker system df
```
2. `docker system prune`:清理 Docker 系统资源。
该命令用于清理未使用的镜像、容器和数据卷,以释放磁盘空间。
示例:
```
docker system prune
```
3. `docker history`:查看镜像的历史记录。
该命令用于查看镜像构建过程中每层的历史操作命令。
示例:
```
docker history <image_name>
```
4. `docker save`:将一个或多个镜像保存到文件。
该命令用于将一个或多个镜像保存成 tar 文件,以便在其他机器上加载和使用。
示例:
```
docker save -o <output_file>.tar <image1_name> <image2_name> ...
```
5. `docker load`:从文件中加载一个或多个镜像。
该命令用于从之前保存的 tar 文件中加载一个或多个镜像。
示例:
```
docker load -i <input_file>.tar
```
6. `docker pause`:暂停容器中的所有进程。
该命令用于暂停容器中所有正在运行的进程。
示例:
```
docker pause <container_id>
```
7. `docker unpause`:取消对容器中所有进程的暂停。
该命令用于取消容器中所有进程的暂停状态,使其继续运行。
示例:
```
docker unpause <container_id>
```
8. `docker top`:查看容器中运行的进程。
该命令用于查看指定容器中正在运行的进程信息。
示例:
```
docker top <container_id>
```
9. `docker update`:更新容器资源限制。
该命令用于更新容器的 CPU 和内存等资源限制。
示例:
```
docker update --cpus <cpu_count> --memory <memory_limit> <container_id>
```
10. `docker logs`:查看容器的日志输出。
该命令用于查看容器的标准输出和标准错误输出。
示例:
```
docker logs <container_id>
```
11. `docker diff`:查看容器文件系统中发生的更改。
该命令用于查看指定容器中文件系统的变化情况,包括新增、修改和删除的文件。
示例:
```
docker diff <container_id>
```
12. `docker exec`:在正在运行的容器中执行命令。
该命令用于在正在运行的容器内部执行指定的命令。
示例:
```
docker exec -it <container_id> <command>
```
13. `docker stats`:实时查看容器的资源使用情况。
该命令用于以实时的方式查看容器的 CPU、内存和网络等资源使用情况。
示例:
```
docker stats <container_id>
```
14. `docker events`:查看 Docker 事件流。
该命令用于查看 Docker 守护进程产生的事件流。
示例:
```
docker events
```
15. `docker port`:查看容器的端口映射。
该命令用于查看容器内部端口与主机端口的映射关系。
示例:
```
docker port <container_id>
```
16. `docker wait`:等待一个容器完成。
该命令用于阻塞当前进程,直到指定容器停止运行。
示例:
```
docker wait <container_id>
```
17. `docker export`:将容器的文件系统打包为 tar 文件并导出。
该命令用于将容器的文件系统导出为 tar 文件。
示例:
```
docker export -o <output_file>.tar <container_id>
```
18. `docker volume`:管理数据卷。
该命令用于创建、查看和删除数据卷。
示例:
```
docker volume create <volume_name>
docker volume inspect <volume_name>
docker volume rm <volume_name>
```
19. `docker network`:管理网络。
该命令用于创建、查看和删除网络。
示例:
```
docker network create <network_name>
docker network inspect <network_name>
docker network rm <network_name>
```
20. `docker buildx`:使用 Buildx 构建多平台镜像。
该命令用于使用 Buildx 构建适用于多个平台的镜像。
示例:
```
docker buildx build --platform <platforms> -t <image_name> .
```
21. `docker context`:管理 Docker 上下文。
该命令用于管理 Docker 客户端与远程 Docker 主机之间的上下文环境。
示例:
```
docker context ls
docker context use <context_name>
```
22. `docker plugin`:管理 Docker 插件。
该命令用于安装、启用和禁用 Docker 插件。
示例:
```
docker plugin install <plugin_name>
docker plugin enable <plugin_name>
docker plugin disable <plugin_name>
```
23. `docker swarm`:管理 Swarm 集群。
该命令用于初始化、加入和管理 Docker Swarm 集群。
示例:
```
docker swarm init
docker swarm join <swarm_token>
docker service create ...
```
24. `docker-compose`:使用 Docker Compose 管理容器编排。
该命令用于编排和管理多个容器组成的应用程序。
示例:
```
docker-compose up
docker-compose down
```
25. `docker run --rm`:运行容器并在退出后删除容器。
该命令用于运行容器,并在容器退出后自动删除容器。
示例:
```
docker run --rm <image_name>
```
26. `docker run -v`:挂载数据卷到容器内部。
该命令用于将主机上的文件或目录挂载到容器内部的指定路径。
示例:
```
docker run -v <host_path>:<container_path> <image_name>
```
27. `docker run -p`:将主机端口映射到容器端口。
该命令用于将主机上的端口映射到容器内部的指定端口。
示例:
```
docker run -p <host_port>:<container_port> <image_name>
```
28. `docker run -d`:以后台模式运行容器。
该命令用于以后台模式运行容器,使其在后台持续运行。
示例:
```
docker run -d <image_name>
```
29. `docker run -it`:以交互模式运行容器。
该命令用于以交互模式运行容器,进入容器的命令行界面进行交互操作。
示例:
```
docker run -it <image_name> /bin/bash
```
30. `docker run --name`:为容器指定名称。
该命令用于为容器指定一个自定义的名称,方便后续管理和操作。
示例:
```
docker run --name <container_name> <image_name>
```
31. `docker ps`:查看正在运行的容器。
该命令用于查看当前正在运行的容器列表。
示例:
```
docker ps
```
32. `docker stop`:停止正在运行的容器。
该命令用于停止指定的运行中的容器。
示例:
```
docker stop <container_id>
```
33. `docker rm`:删除一个或多个容器。
该命令用于删除一个或多个容器。
示例:
```
docker rm <container_id1> <container_id2> ...
```
34. `docker rmi`:删除一个或多个镜像。
该命令用于删除一个或多个镜像。
示例:
```
docker rmi <image_name1> <image_name2> ...
```
这些命令涵盖了 Docker 的各个方面,包括系统资源管理、镜像管理、容器管理、网络管理、数据卷管理、容器编排等等。通过了解和使用这些命令,可以更加灵活地管理和操作 Docker 容器化应用。
以下是学习资源列表:
1、
Docker 入门教程
http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html