🍀 前言
博客地址:
- CSDN:https://blog.csdn.net/powerbiubiu
👋 简介
前面对Docker的安装,镜像,容器,数据卷进行了介绍,本章节总结下Docker的常用命令。
📖 正文
1 基本命令
docker info
:检查当前容器的安装情况(包括镜像数、容器书、多少个物理机节点);docker version
:查看当前安装的 Docker 的版本信息。
2 镜像仓库相关命令
docker search <image-name>
:从默认的 Docker Hub 中搜索指定的镜像;docker pull <image-name>
:从默认的 Docker hub 上拉取 镜像;docker push <image-name>
:将本地镜像上传到镜像仓库(注意需要先登录);docker loging -u xxx -p xxx
:登录一个 docker 镜像仓库,如果未指定镜像仓库地址,则默认为Docker Hub镜像仓库;docker logout
:退出登录的镜像仓库。
3 本地镜像管理相关命令
docker images
:列出本地宿主机上的所有镜像;docker history <container-id>
:查看指定镜像的分层结构以及创建历史;docker image inspect <container-id>
:查看镜像的元数据信息;docker rmi <container-id>
:根据镜像 id 删除镜像;docker export -o xxx.tar id
:将镜像打包成文件,导出镜像;docker import xxx.tar name
:从归档文件中创建镜像,导入镜像;docker save -o xxx.tar <container-id>
:将指定镜像保存为归档文件,导出容器;docker load --input xxx.tar
:用于将 docker save 生成的归档文件还原成镜像 ,导出容器。
4 容器操作相关命令
docker ps
:列出当前正在运行的容器;docker ps -a
:列出所有容器,包括已停止的容器;docker inspect <container-id>
:获取容器或者镜像的元数据;docker top <container-id>
:查看容器中运行的进程信息;docker stats <container-id>
:实时显示容器资源的使用统计;docker events
:从服务器获取实时事件;docker logs <container-id>
:查看容器内的标准日志输出 ;docker port <container-id>
:列出指定容器的端口映射;docker cp test.txt id:/root/
:将宿主机当前目录下的 test.txt 复制到 id 容器中的 root 目录下 ;docker diff <container-id>
:列出该容器自创建以来,容器内部文件的变化 ;docker update --memory=16G
:修改容器运行中的配置,即时生效无需配置。
5 容器生命周期相关命令
docker run -d -p 宿主机port:容器port --name xxx 镜像id
:以后台方式运行容器;docker create --name xxx nginx:latest
:创建一个新的容器,但是不启动;docker start/stop/restart
:启动/停止/重启一个容器 ;docker kill 容器id
:终止一个运行中的容器,kill 不管是否同意,直接强制终止;docker rm -vf
:容器id 删除一个或者多个容器;docker exec -it 容器id bash
:进入到容器内部;docker attach 容器id
:进入到容器内部,该方式在退出容器时,会导致容器停止运行。
6 数据卷相关命令
docker volume ls
:列出 Docker 中定义的数据卷;docker volume create <volume-name>
:创建一个新的 Docker 数据卷;docker volume inspect <volume-name>
:查看特定数据卷的详细信息;docker run -v <host-path>:<container-path> <image-name>
:挂载主机目录到容器中;docker run -v <volume-name>:<container-path> <image-name>
:挂载 Docker 数据卷到容器中。
7 容器运行参数
以下为docker run
命令支持的参数
-i
:以交互模式运行容器,通常与 -t 同时使用;-t
:启动容器后,为容器分配一个命令行,通常与-i同时使用;-v
:目录映射,容器目录挂载到宿主机目录,格式: <host目录>:<容器目录>;-d
:守护进程,后台运行该容器;-p
:指定端口映射,格式:主机(宿主)端口:容器端口;-P
:随机端口映射,容器内部端口随机映射到主机的端口;-u
:以什么用户身份创建容器;--name "nginx-lb"
:容器名字;-m, --memory bytes
:设置容器使用内存最大值;-h, --hostname string
:指定容器的 host name;--dns 8.8.8.8
:指定容器 dns 服务器;-e username="ritchie"
:设置环境变量;--restart
:Docker 重启后,容器是否自动重启;--privileged:
容器内是否使用真正的 root 权限。
8 备注
之前有次阿里云服务器重启后,发现服务器上的docker部署的服务,没有启动。因为在使用docker run的时候,没有添加参数–restart=always,表示docker重启后自动重启,通过执行以下命令,重启服务和修改容器运行中的配置:
- 重启docker容器:
docker restart $(docker ps -aq)
; - 更新docker容器:
docker update --restart=always $(docker ps -q)
。
✏ 总结
熟记并理解以上Docker命令,这样才能在使用Docker中得心应手,通过学习本文中介绍的这些命令,读者可以更好地管理和部署应用程序,并更高效地使用 Docker 进行容器化应用开发和部署。