1.帮助命令
docker version //验证docker的版本
docker info //查看docker的信息
docker --help //帮助命令,可查看常见的命令
2.镜像命令
docker images
//列出本地主机上的镜像
//列出的选项说明
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像ID
CREATED 镜像创建时间
SIZE 镜像的大小
//常见的参数说明
-a : 列出本地所有的镜像(包含中间映像层)
-q : 只显示出镜像ID,可以与-a同时使用,-qa
--digests : 显示镜像的摘要信息
--no-trunc : 显示完整的镜像信息
docker search xxx
//在docker hub上查找某个镜像,xxx为某个镜像的名称,例如 docker search tomcat
//常见的参数说明
--no-trunc : 显示完整的镜像描述
-s : 列出收藏数不小于指定值的镜像
--automated : 只列出automated build 类型的镜像
docker pull xxx
//从docker hub(配置阿里云镜像加速后是阿里云) 上下载某个镜像,xxx为某个镜像的名称,例如 docker pull nginx,不写版本号表示使用的是最新版的,可以使用docker pull nginx[:版本号]下载指定版本的镜像
docker rmi xxx
//在本地删除某个镜像,xxx为某个镜像的名称ID
//删除单个镜像 docker rmi -f 镜像名:TAG,例如 docker rmi -f tomcat ,-f表示强制删除
//删除多个镜像 docker rmi -f 镜像名1:TAG 镜像名2:TAG
//删除全部镜像 docker rmi -f $(docker images -qa)
3.容器命令
//有镜像才能有容器,下载一个centos镜像进行演示,使用 docker pull centos 命令 下载镜像
启动交互式容器
//新建并启动容器,同时进入容器
docker run -it xxx //例如 docker run -it --name mycentos1127 centos
//参数说明
--name=“容器新名字”:为容器指定一个名称
-d: 后台运行容器,并返回容器ID,即启动守护式容器
-i: 以交互模式运行容器,通常与-t同时使用
-t: 为容器重新分配一个伪输入终端,通常与-i同时使用
//列出当前所有正在运行的容器
docker ps -a
//参数说明:
-a : 列出当前所有正在运行的容器+历史上运行过的容器
-l : 显示最近创建的容器
-n : 显示最近n个创建的容器
-q : 静默模式,只显示容器编号
--no-trunc : 不截断输出
//退出容器
//两种退出方式:1.exit :容器停止退出
2.ctrl+P+Q : 容器不停止退出
//启动容器
docker start 容器ID/容器名
//重启容器
docker restart 容器ID/容器名
//停止容器
docker stop 容器ID/容器名
//强制停止容器
docker kill 容器ID/容器名
//删除已停止的容器
docker rm 容器ID/容器名
//一次性删除多个容器
docker rm -f $(docker ps -qa) //删除所有的容器
docker ps -a -q | xargs docker rm
启动守护式容器
//新建并启动容器但是不进入容器
docker run -d 容器ID/容器名
//使用此方式创建容器,在使用 docker ps -a 命令后发现,容器已经退出,docker容器后台运行,就必须要有一个前台进程,容器运行的命令如果不是那些一直挂起的命令(如 top,tail),就是自动退出的。最好的解决方案就是,将要运行的程序以前台进程的形式运行
//查看容器日志
docker logs -f -t --tail 容器ID
//参数说明
-t : 指加入的时间戳
-f : 跟随最新的日志打印
--tail : 数字显示最后多少条
//查看容器内运行的进程
docker top 容器ID
//查看容器内部细节
docker inspect 容器ID
//进入正在运行的容器并以命令行进行交互
docker exec -it 容器ID bashShell
//重新进入:
docker attach 容器ID
//上述两者的比较:
exec 是在容器中打开新的终端,并且可以启动新的进程
attach 直接进入容器启动命令的终端,不会启动新的进程
//例如:
docker exec -t 2e8c2977d0f0 ls -l /tmp
//进入 2e8c2977d0f0 这个容器中执行 ls -l /tmp 命令后直接退出,返回宿主机。
docker attach 2e8c2977d0f0
//进入容器ID为 2e8c2977d0f0 的容器中
docker exec -t 2e8c2977d0f0 /bin/bash
//进入容器ID为 2e8c2977d0f0 的容器中
//从容器内拷贝文件到主机上
docker cp 容器ID:容器内路径 目的主机路径
//例如:
docker cp 2e8c2977d0f0:/tmp/ks-script-0n44nrd1 /root
//将2e8c2977d0f0这个容器中的 tmp 目录下的 ks-script-0n44nrd1 文件移动到宿主机的 root 目录下
//docker设置容器开机自启动
docker update --restart=always 镜像ID