【分布式微服务云原生】Docker常用命令指南

Docker是一个强大的工具,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中。以下是一些常用的Docker命令,帮助你更好地管理和使用Docker。

1. 查看Docker进程

查看Docker服务状态

bash 复制代码
ps -ef | grep docker

这个命令会列出所有包含"docker"的进程。

查看Docker容器

bash 复制代码
docker ps

这个命令会显示当前正在运行的容器。

查看Docker镜像

bash 复制代码
docker images

这个命令会列出本地的所有Docker镜像。

查看Docker版本

bash 复制代码
docker version

这个命令会显示Docker客户端和服务端的版本。

查看Docker客户端版本

bash 复制代码
docker --version

这个命令会显示Docker客户端的版本。

流程图:查看Docker版本流程
执行命令 docker version 显示客户端和服务端版本 执行命令 docker --version 显示客户端版本

2. 查看Docker客户端信息

查找Docker客户端路径

bash 复制代码
which docker

这个命令会显示Docker客户端的安装路径。

查看Docker进程

bash 复制代码
ps aux | grep docker

这个命令会列出所有包含"docker"的进程。

查看containerd服务状态

bash 复制代码
systemctl status containerd

这个命令会显示containerd服务的状态。

流程图:查看Docker客户端信息流程

graph TD A[执行命令] --> B[which docker] B --> C[显示Docker客户端路径] D[执行命令] --> E['ps aux | grep docker'] E --> F[列出Docker进程] G[执行命令] --> H[systemctl status containerd] H --> I[显示containerd服务状态]
3. 镜像管理

拉取镜像

bash 复制代码
docker pull nginx

这个命令会从Docker Hub拉取最新的nginx镜像。

列出镜像

bash 复制代码
docker image ls

这个命令会列出本地的所有镜像。

删除镜像

bash 复制代码
docker rmi nginx

这个命令会删除指定的nginx镜像。

删除容器

bash 复制代码
docker rm nginx

这个命令会删除指定的容器。

搜索镜像

bash 复制代码
docker search nginx

这个命令会在Docker Hub上搜索nginx镜像。

流程图:镜像管理流程
执行命令 docker pull nginx 拉取nginx镜像 执行命令 docker image ls 列出本地镜像 执行命令 docker rmi nginx 删除nginx镜像 执行命令 docker rm nginx 删除nginx容器 执行命令 docker search nginx 搜索nginx镜像

4. 容器管理

运行容器

bash 复制代码
docker run -d -p 80:80 nginx

这个命令会在后台启动一个新的nginx容器,并将容器的80端口映射到宿主机的80端口。

停止容器

bash 复制代码
docker stop 容器id

这个命令会停止指定的容器。

启动容器

bash 复制代码
docker start 容器id

这个命令会启动指定的容器。

查看容器日志

bash 复制代码
docker logs 容器id | tail -5

这个命令会显示容器的最后5条日志信息。

实时查看容器日志

bash 复制代码
docker logs -f 容器id

这个命令会实时显示容器的日志信息。

进入容器

bash 复制代码
docker exec -it 容器名称/id bash

这个命令会进入指定的容器内部。

流程图:容器管理流程

graph TD A[执行命令] --> B[docker run -d -p 80:80 nginx] B --> C[运行nginx容器] D[执行命令] --> E[docker stop 容器id] E --> F[停止容器] G[执行命令] --> H[docker start 容器id] H --> I[启动容器] J[执行命令] --> K[docker logs 容器id | tail -5] K --> L[查看容器日志] M[执行命令] --> N[docker logs -f 容器id] N --> O[实时查看容器日志] P[执行命令] --> Q[docker exec -it 容器名称/id bash] Q --> R[进入容器]
5. 网络管理

查看端口

bash 复制代码
netstat -tunlp

这个命令会显示当前所有正在监听的TCP/UDP端口,以及端口对应的程序名称和进程标识符。

指定端口映射

bash 复制代码
docker run -d --name xxx -p 宿主机端口:容器内端口 镜像id/名称

这个命令会在运行容器时指定端口映射。

随机端口映射

bash 复制代码
docker run -d --name xxx -P 镜像id/名称

这个命令会在运行容器时进行随机端口映射。

查看容器端口情况

bash 复制代码
docker port 容器id/名称

这个命令会显示容器的端口映射情况。

流程图:网络管理流程
执行命令 netstat -tunlp 查看所有监听端口 执行命令 docker run -p 宿主机端口:容器内端口 镜像id/名称 指定端口映射 执行命令 docker run -P 镜像id/名称 随机端口映射 执行命令 docker port 容器id/名称 查看容器端口情况

6. 镜像和容器的高级操作

批量删除镜像容器

bash 复制代码
docker rmi `docker images -aq`
docker rm `docker ps -aq`

这些命令会批量删除所有镜像和容器,慎用。

将容器导出为新的镜像

bash 复制代码
docker commit 容器id 新的镜像名称

这个命令会将容器的当前状态导出为一个新的镜像。

将镜像导出为文件

bash 复制代码
docker image save 镜像id/名称 > /opt/xx/yy.tgz

这个命令会将镜像导出为一个文件。

将文件导入为镜像

bash 复制代码
docker image load -i /opt/xx/yy.tgz

这个命令会将文件导入为一个新的镜像。

查看Docker信息

bash 复制代码
docker info

这个命令会显示Docker客户端、服务端和宿主机的信息。

查看镜像详细信息

bash 复制代码
docker image inspect 镜像id

这个命令会显示指定镜像的详细信息。

查看容器详细信息

bash 复制代码
docker container inspect 容器id/名称

这个命令会显示指定容器的详细信息。

流程图:镜像和容器的高级操作流程
执行命令 docker rmi `docker images -aq` 批量删除镜像 执行命令 docker rm `docker ps -aq` 批量删除容器 执行命令 docker commit 容器id 新的镜像名称 导出容器为镜像 执行命令 docker image save 镜像id/名称 > /opt/xx/yy.tgz 导出镜像为文件 执行命令 docker image load -i /opt/xx/yy.tgz 导入文件为镜像 执行命令 docker info 查看Docker信息 执行命令 docker image inspect 镜像id 查看镜像详细信息 执行命令 docker container inspect 容器id/名称 查看容器详细信息

7. 后台任务管理

后台运行

bash 复制代码
nohup ping www.baidu.com &

这个命令会在后台运行ping命令。

查看后台任务

bash 复制代码
jobs

这个命令会列出当前的后台任务。

将后台任务切换到前台

bash 复制代码
fg 1

这个命令会将后台任务1切换到前台。

流程图:后台任务管理流程
执行命令 nohup ping www.baidu.com & 后台运行命令 执行命令 jobs 查看后台任务 执行命令 fg 1

相关推荐
P.H. Infinity2 小时前
【RabbitMQ】03-交换机
分布式·rabbitmq
追风林3 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
龙哥·三年风水4 小时前
群控系统服务端开发模式-应用开发-个人资料
分布式·php·群控系统
城南vision5 小时前
Docker学习—Docker核心概念总结
java·学习·docker
wclass-zhengge5 小时前
Docker篇(Docker Compose)
运维·docker·容器
茶馆大橘5 小时前
微服务系列五:避免雪崩问题的限流、隔离、熔断措施
java·jmeter·spring cloud·微服务·云原生·架构·sentinel
coding侠客6 小时前
揭秘!微服务架构下,Apollo 配置中心凭啥扮演关键角色?
微服务·云原生·架构
funnyZpC7 小时前
quartz集群增强版🎉
java·分布式·开源·集群·定时任务
lexusv8ls600h7 小时前
微服务设计模式 - 网关路由模式(Gateway Routing Pattern)
spring boot·微服务·设计模式
明达技术7 小时前
工业4.0时代下的分布式IO模块
分布式