Docker是一个强大的工具,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中。以下是一些常用的Docker命令,帮助你更好地管理和使用Docker。
1. 查看Docker进程
查看Docker服务状态
ps -ef | grep docker
这个命令会列出所有包含"docker"的进程。
查看Docker容器
docker ps
这个命令会显示当前正在运行的容器。
查看Docker镜像
docker images
这个命令会列出本地的所有Docker镜像。
查看Docker版本
docker version
这个命令会显示Docker客户端和服务端的版本。
查看Docker客户端版本
docker --version
这个命令会显示Docker客户端的版本。
流程图:查看Docker版本流程
2. 查看Docker客户端信息
查找Docker客户端路径
which docker
这个命令会显示Docker客户端的安装路径。
查看Docker进程
ps aux | grep docker
这个命令会列出所有包含"docker"的进程。
查看containerd服务状态
systemctl status containerd
这个命令会显示containerd服务的状态。
流程图:查看Docker客户端信息流程
graph TDA[执行命令] --> B[which docker]B --> C[显示Docker客户端路径]D[执行命令] --> E['ps aux | grep docker']E --> F[列出Docker进程]G[执行命令] --> H[systemctl status containerd]H --> I[显示containerd服务状态]
3. 镜像管理
拉取镜像
docker pull nginx
这个命令会从Docker Hub拉取最新的nginx镜像。
列出镜像
docker image ls
这个命令会列出本地的所有镜像。
删除镜像
docker rmi nginx
这个命令会删除指定的nginx镜像。
删除容器
docker rm nginx
这个命令会删除指定的容器。
搜索镜像
docker search nginx
这个命令会在Docker Hub上搜索nginx镜像。
流程图:镜像管理流程
4. 容器管理
运行容器
docker run -d -p 80:80 nginx
这个命令会在后台启动一个新的nginx容器,并将容器的80端口映射到宿主机的80端口。
停止容器
docker stop 容器id
这个命令会停止指定的容器。
启动容器
docker start 容器id
这个命令会启动指定的容器。
查看容器日志
docker logs 容器id | tail -5
这个命令会显示容器的最后5条日志信息。
实时查看容器日志
docker logs -f 容器id
这个命令会实时显示容器的日志信息。
进入容器
docker exec -it 容器名称/id bash
这个命令会进入指定的容器内部。
流程图:容器管理流程
graph TDA[执行命令] --> 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. 网络管理
查看端口
netstat -tunlp
这个命令会显示当前所有正在监听的TCP/UDP端口,以及端口对应的程序名称和进程标识符。
指定端口映射
docker run -d --name xxx -p 宿主机端口:容器内端口 镜像id/名称
这个命令会在运行容器时指定端口映射。
随机端口映射
docker run -d --name xxx -P 镜像id/名称
这个命令会在运行容器时进行随机端口映射。
查看容器端口情况
docker port 容器id/名称
这个命令会显示容器的端口映射情况。
流程图:网络管理流程
6. 镜像和容器的高级操作
批量删除镜像容器
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信息
docker info
这个命令会显示Docker客户端、服务端和宿主机的信息。
查看镜像详细信息
docker image inspect 镜像id
这个命令会显示指定镜像的详细信息。
查看容器详细信息
docker container inspect 容器id/名称
这个命令会显示指定容器的详细信息。
流程图:镜像和容器的高级操作流程
7. 后台任务管理
后台运行
nohup ping www.baidu.com &
这个命令会在后台运行ping命令。
查看后台任务
jobs
这个命令会列出当前的后台任务。
将后台任务切换到前台
fg 1
这个命令会将后台任务1切换到前台。
流程图:后台任务管理流程