Docker常用命令
一、查询命令
docker version
或docker --version
:查看docker版本信息
docker info
:查看docker客户端及服务端详细配置信息
docker help
:查看帮助信息
二、镜像命令
什么是镜像呢?拿Docker的logo来比喻:
docker鲸鱼背上有集装箱
- 蓝色的大海 -----宿主系统
- 鲸鱼 ----docker
- 集装箱 -----容器镜像
- 列出本地镜像
docker images
REPOSITORY仓库 TAG标签 IMAGE ID镜像ID CREATED镜像创建时间 SIZE镜像大小
OPTIONS(可选参数):
参数 | 功能 |
-a | all 列出本地所有的镜像 |
-q | 只显示镜像ID |
–digests | 显示镜像的摘要信息 |
–no-trunc | 显示完整的镜像ID信息 |
- 查询查找镜像
docker search
OPTIONS(可选参数):
参数 | 功能 |
–filter stars=10 | 只列出大于10颗星的镜像 |
–filter “is-official=true” | 只列出官方镜像 |
–automated | 只列出automated build类型的镜像 |
比如:要查询官方的星星数在50以上的tomcat镜像
docker search --filter stars=50 --filter "is-official=true" tomcat
- 拉取某个镜像
docker pull centos[TAG]
输入docker pull centos:7
拉取centos版本7的镜像
输入docker pull centos
默认于 docker pull centos:latest —拉取最新版
注意两者的区别
- 删除镜像
删除单个
docker rmi [镜像名]或[镜像ID]
删除多个
docker rmi -f 镜像名1:TAG 镜像名2:TAG
删除全部
docker rmi -f $(docker images -qa)
-f 强制删除
需要注意的是删除镜像,需要在没有对应容器的时候删除。
三、容器基础命令
有了镜像才能创建容器,这是根本前提。
- 新建并启动容器命令
docker run -it image或image ID
OPTIONS说明(常用):有些是一个减号,有些是两个减号
参数 | 功能 |
–name=“容器新名字” | 为容器指定一个名称 |
-i | 以交互模式运行容器,通常与-t同时使用 |
-t | 为容器重新分配诶一个伪输入终端,通常与-i同时使用 |
-d | 后台运行容器,并返回容器ID,也即启动守护式容器 |
-P | 端口映射 |
-p:指定端口映射,有以下四种格式:
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
- 列出所有正在运行的容器命令
docker ps
OPTIONS说明(常用)
参数 | 功能 |
-a | 列出当前所有正在运行的容器+历史上运行过的 |
-l | 显示最近创建的容器 |
-n | 显示最近n个创建的容器 |
-q | 静默模式,只显示容器编号 |
–no-trunc | 不截断输出 |
- 退出容器
exit —容器停止退出
ctrl+p+q —容器不停止退出
- 启动容器
docker start 容器id或容器名
- 重启容器
docker restart 容器id或容器名
- 停止容器
docker stop 容器id或容器名
- 强制停止
docker kill 容器id或容器名
- 删除已停止的容器
docker rm 容器id或容器名
- 一次性删除多个容器
docker rm -f $(docker ps -a -q) ---f 强制删除
docker ps -a -q|xargs docker rm
四、容器重要命令
- 启动守护式容器
docker run -d centos
单用-d参数,不提供伪终端;docker ps
是看不到的,因为后台守护,但是前台没有应用,所以一般都是加上-itd
一起使用。
- 查看容器日志
docker logs -f -t --tail 容器ID
-t是加入时间戳
-f跟随最新的日志打印
–tail 数字 显示最后多少条
- 查看容器内进程
docker top 容器ID
- 查看容器内部细节
docker inspect 容器ID
- 进入命令行模式进行交互
docker exec -it 容器ID bashShell
docker attach 容器ID
上述俩区别 attach 直接进入容器启动命令的终端,不会启动新的进程
exec是在容器中打开新的终端,并且可以启动新的进程
- 从宿主机拷贝文件至容器内
docker cp 宿主机本地路径 容器名/id:路径
- 从容器内拷贝文件到主机上
docker cp 容器名/id:路径 宿主机本地路径