Docker可以让开发人员、运维人员更容易使用容器创建、部署和运行应用程序。掌握一些必备的Docker命令对于使用Docker的工程师非常重要,那么今天笔者给大家整理了一份Docker的命令备忘单,希望大家可以好好保存,在使用的时候可以拿出来查阅使用。
让我们直接开始!
一、Docker 容器命令
1.列出所有正在运行的容器
docker ps
还有两个同等作用的命令:
- docker container ps
- docker container ls
2.列出所有容器(包含所有状态)
docker ps -a
docker ps -a中的-a是-all的缩写。
3.列出所有正在运行的容器(带文件大小)
docker ps -s
同等作用的命令:
- docker container ls -s
docker ps -s中的-s是-size的缩写,代表了容器在其可写层中写入的数据的大小,virtual表示此容器的镜像使用的磁盘空间量。
4.列出正在运行的容器的 ID
docker ps -q
同等作用的命令:
- docker container ls -q
docker ps -q中的-q是-quiet的缩写。
5.列出所有容器的 ID(包含所有状态)
docker ps -a -q
上面的-a和-q的参数可以合并:
docker ps -aq
过滤容器列表 docker ps -f name=un
docker ps -f name=un中的-f是-filter的缩写。
根据状态过滤容器:
docker ps -a -f status=running
二、Docker创建容器
6.使用 Docker Image 创建一个新容器
docker create <image_name>
例如我们创建Nginx镜像:
docker create nginx
容器创建后,我们执行命令docker ps验证一下:
7.Docker Image 创建新容器带上名字
docker create --name <container_name> <image_name>
例如我们创建一个名为nginx-container的镜像:
docker create --name nginx-container nginx
然后我们再用docker ps -a验证一下镜像是否已经创建。
三、Docker启动容器
8.启动 Docker 容器
我们可以使用docker start容器 ID 或名称来使用命令:
docker start <container_id or container_name>
比如我们启动nginx:
docker start nginx-contianer
9.停止正在运行的 Docker 容器
和启动命令类似,我们可以使用docker stop 容器 ID 或名称来使用命令:
docker stop <container_id or container_name>
比如我们停止nginx:
docker stop nginx-container
10.重启 Docker 容器
和启动、停止命令类似,我们可以使用docker restart 容器 ID 或名称来使用命令:
docker restart <container_id or container_name>
比如我们重启nginx:
11.暂停正在运行的容器
和启动、重启、停止命令类似,我们可以使用docker pause 容器 ID 或名称来使用命令:
docker pause <container_id or container_name>
比如我们暂停nginx:
docker pause nginx-container
取消暂停可以使用:
docker unpause <container_id or container_name>
比如我们取消暂停nginx:
docker unpause nginx-container
四、Docker 镜像命令 列出所有 Docker 镜像 docker images
列出所有 Docker 镜像 ID docker images -q
12.构建 Docker 镜像
docker build -t <image_name> <contenxt_dir>
Docker 会尝试在 . 中找到一个名为的文件Dockerfile,context_dir然后它会使用该Dockerfile文件创建一个 Docker 映像。
13.构建 Docker 镜像并用标签区分
docker build . -t <image_name>:<tag or version>
14.使用自定义命名的 Dockerfile 构建 Docker 映像
docker build -f <custom_docker_file_name> -t <image_name> .
15.显示 Docker 映像的历史记录
docker history <imagename or imageid>
16.重命名现有的 Docker 映像
docker tag <imagename> <newname>:<version>
删除 Docker 镜像 docker rmi <image_name or image_id>
17.强制删除 Docker 镜像
docker rmi -f <image_name or image_id>
五、Docker 日志
18.获取 Docker 容器的日志
docker container logs <container_id or container_name>
19.监控 Docker 容器日志
docker container logs -f <container_id or container_name>
类似于Linux命令中的tail -f。
20.获取容器日志的最后 n 行
docker container logs --tail n <container_id or container_name>
六、Docker 网络命令
21.列出所有网络
docker network ls
创建网络 docker network create --driver <driver-name> <bridge-name>
将 Docker 容器连接到网络 docker network connect <network_id or network_name> <container_id or container_name>
断开 Docker 容器与网络的连接 docker network disconnect <network_name_or_id> <container_name_or_id>
删除网络 docker network rm <network_id or network_name>
七、Docker 卷
22.列出卷
docker volume ls
23.删除所有未使用的本地卷
docker volume prune
24.卷的详细信息
[OPTIONS] VOLUME
八、Docker Compose命令
25.构建 docker compose 文件
docker-compose build
26.运行 docker compose 文件
docker-compose up
27.列出在 docker compose 文件中声明的 docker 镜像
docker-compose ls
28.启动已经使用 docker compose 文件创建的容器
docker-compose start
29.在 docker-compose.yml 中运行其中一个应用程序
docker-compose run
30.从 docker compose 中删除 docker 容器
docker-compose rm
31.从 docker compose 检查 docker 容器状态
docker-compose ps
九、docker hub命令
32.在 docker hub 中搜索镜像
docker search search_word
33.从 docker hub 下载镜像
docker pull user/image
34.向 docker hub 进行身份验证
docker login
35.将图像上传到 docker hub
docker push user/image
十、批量清除/删除
36.停止所有容器
docker stop -f $(docker ps -a -q)
37.删除所有容器
docker rm -f $(docker ps -a -q)
38.删除所有镜像
docker rmi -f $(docker images -q)
总结
Docker现在已经使用的非常频繁了,今天笔者已经给大家列举了50个Docker常用命令,大家在使用Docker的时候,遇到不会的可以返过来看看。