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客户端信息流程
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
这个命令会进入指定的容器内部。
流程图:容器管理流程
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