帮助启动类命令
- 启动docker:
systemctl start docker
- 停止docker:
systemctl stop docker
- 重启docker:
systemctl restart docker
- 查看docker状态:
systemctl status docker
- 开机启动:
systemctl enable docker
- 查看docker概要信息:
docker info
- 查看docker总体帮助文档:
docker --help
查看docker命令帮助文档:
docker 具体命令 --help
镜像命令
- docker images
#查询本机镜像
docker images
#列出本地所有的镜像(含历史映像层)
docker images -a
#只显示镜像ID
docker images -q
REPOSITORY:表示镜像的仓库源 |
TAG:镜像的标签(版本号) |
IMAGE ID:镜像ID |
CREATED:镜像创建时间 |
SIZE:镜像大小 |
同一仓库源可以有多个 TAG版本代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
- docker search
#查询仓库镜像
docker search 镜像名称
#docker search --limit :只展示前几项
docker search --limit 数量 容器名称
#docker search -f:过滤
docker search -f 容器名称
NAME | 镜像名称 |
DESCRIPTION | 镜像说明 |
STARS | 点赞数量 |
OFFICIAL | 是否是官方的 |
AUTOMATED | 是否是自动构建的 |
- docker pull
#拉取镜像
#不加TAG默认拉取最新版本
docker pull 镜像名称 [:TAG]
- docker system df (查看镜像、容器、数据卷所占空间)
- docker rmi
#删除镜像
docker rmi 镜像名称/TAG
#强制删除(删除单个)
docker rmi -f 镜像名称/TAG
#删除多个
docker rmi -f 镜像名称1/TAG 镜像名称2/TAG 镜像名称3/TAG
#删除全部
docker rmi -f $(docker images -qa)
面试题:谈谈docker虚悬镜像是什么?
仓库名、标签都是<none>的镜像,俗称虚悬镜像dangling image
容器命令
- 新建+启动容器
docker run [OPTIONS]IMAGE [COMMAND] [ARG...]
#--name=“容器新名字"为容器指定一个名称;
#-d:后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
#-i:以交互模式运行容器,通常与-t同时使用;-t:为容器重新分配一个伪输入终端,通常与-i同时使用;也即启动交互式容器(前台有伪终端,等待交互);
#-P:随机端口映射,大写P
#-p: 指定端口映射,小写p
- 列出所有运行的容器
docker ps
#-a:列出当前所有正在运行的容器历史上运行过的
#-l:显示最近创建的容器。
#-n:显示最近n个创建的容器
#-q:静默模式,只显示容器编号。
- 退出容器
#exit 退出容器,容器停止
exit
#Ctrl+p+q 退出容器,容器不停止
- 启动已经停止运行容器
docker start 容器ID或者容器名
- 重启容器
docker restart 容器ID或者容器名
- 停止容器
docker stop 容器ID或者容器名强
- 强制停止容器
docker kill 容器ID或者容器名强
- 删除已停止的容器
docker rm 容器ID/容器名称
#-f 强制删除
docker rm -f 容器ID/容器名称
#一次性删除多个容器实例
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
重要命令
- 查看容器日志
docker logs 容器ID/容器名称
- 查看容器内运行的进程
docker top 容器ID/容器名称
- 查看容器内部细节
docker inspect 容器ID/容器名称
- 进入正在运行的容器
#exec是在容器中打开新的终端,并且可以启动新的进程用exit退出,不会导致容器的停止。
docker exec -it 容器ID/容器名称 bashShell
attach直接进入容器启动命令的终端,不会启动新的进程用exit退出,会导致容器的停止。
docker attach 容器ID/容器名称
- 从容器内拷贝文件到主机上
docker cp 容器ID:容器内路径 目的主机路径
- 导入和导出容器
#export 导出容器的内容留作为一个tar归档文件[对应import]
docker export 容器ID > 文件名.tar
#import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]
cat 文件名.tar|docker import - 镜像用户/镜像名:镜像版本号