一、启动类命令
#启动docker
systemctl start docker
#停止docker
systemctl stop docker
#重启docker
systemctl restart docker
#查看docker状态
systemctl status docker
#开机启动docker
systemctl enable docker
#查看docker概要信息
docker info
#查看docker总体帮助文档
docker --help
#查看docker命令帮助文档 cmd 具体命令
docker [cmd] --help
二、镜像命令
#列出本地主机上的镜像
#-a 列出本地所有镜像(含历史映像层)
#-q 只显示镜像id
docker images
#查找镜像[imageName]镜像名称
#--limit N 显示N个结果
docker search [imageName]
#下载镜像[imageName:TAG] 镜像名称:版本号
docker pull [imageName:TAG]
#查看镜像/容器/数据卷所占的空间
docker system df
#删除某个镜像[imageName/imageId] 镜像名称或镜像id 多个以空格分开
#-f 强制删除
docker rmi [imageName/imageId]
虚悬镜像:仓库名、标签名都是none的镜像俗称虚悬镜像dangling image
三、容器命令
#启动交互式容器命令 docker run [options] image [command] [args]
# --name="新容器名字" 为容器指定一个名称
# -d 后台运行,并返回容器id
# -i 以交互模式运行容器,通常与-t同时使用
# -t 为容器重新输入一个伪输入终端,通常与-i同时使用
# -P 随机端口映射 -p hostPort:containerPort
# -p 指定端口映射
docker run -it ubuntu /bin/bash
#列出当前所有正在运行的容器
#-a 列出当前所有正在运行的和历史运行过的容器
# -l 显示最近创建的容器
# -n 显示最近n个创建的容器
# -q 只显示容器编号
docker ps -a
# 退出容器
# run进去容器,exit退出,容器停止
# run进去容器ctrl+p+q退出,容器不停止
# 启动已停止运行的容器
docker start [容器id/容器名]
# 重启容器
docker restart [容器id/容器名]
# 停止容器
docker stop [容器id/容器名]
# 强制停止容器
docker kill [容器id/容器名]
# 删除已停止的容器
# -f 强制删除
docker rm [容器id]
# 启动守护式容器
docker run -d [容器名]
# 查看容器日志
docker logs [容器id]
# 查看容器内运行的进程
docker top [容器id]
# 查看容器内部细节
docker inspect [容器id]
# 进入正在运行的容器并以命令行交互
docker exec -it [容器id] /bin/bash
# 重新进入
docker attach [容器id]
attach 和 exec 的区别 : attach 直接进入容器启动命令的终端,不会启动新的进程,用exit 退出,会导致容器的停止;exec 是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止。
# 从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目的主机路径
# 导入和导出容器
# export 导出容器的内容流作为一个tar归档文件[对应import命令]
docker export [容器id]>[文件名.tar]
# import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export命令]
cat [文件名.tar] | docker import - 镜像用户/镜像名:镜像版本号