Docker系列(四)Docker命令(超详细)
一、Docker帮助命令
1.查看Docker版本
docker version
2.查看Docker系统信息
docker indo
3.查看docker帮助文档
docker --help
二、Docker镜像命令
1.列出主机上的镜像
docker images [OPTIONS]
参数说明:
-a 列出本地所有的镜像(包括中间镜像层)
-q 只显示镜像ID
--digests 显示镜像摘要信息
--no-trunc 显示完整的镜像信息
2.从仓库中列出查询的镜像信息
docker search [OPTIONS] 镜像名字
参数说明
--no-trunc 显示完整的镜像描述
-s 列出收藏数不小于指定值的镜像
--automated 只列出automated build类型的镜像
3.下载镜像
docker pull 镜像名字 [:TAG](版本号,默认为最新版)
4.删除镜像
docker rmi 某个镜像ID
参数说明
-f 镜像ID 删除动那个镜像
-f 镜像名1:TAG 镜像名2:TAG 删除多个镜像
-f $(docker images -qa) 删除全部镜像
5.从容器创建一个新镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
参数说明
-a 提交的镜像作者
-c 使用Dockerfile指令来创建镜像;
-m 提交时的说明文字;
-p 在commit时,将容器暂停。
列子:docker commit -a "xiaoming" -m "my centos" 77916c27f696 mycentos:1.0
6.将自己的镜像推送到仓库中
docker push [OPTIONS] NAME[:TAG]
参数说明
--disable-content-trust 忽略镜像的校验,默认开启
推送镜像需要先有自己的账号,使用docker login来登录
并且修改镜像的名字:
docker tag 镜像ID 用户ID/镜像名字
二、Docker容器命令
有镜像才能创建容器,这是根本前提
1.新建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG]
OPTIONS参数说明:
/bin/bash 可以省略,默认值
--name="容器新名字" 为容器指定一个名称
-d 后台运行容器,并返回容器ID,启动守护容器
注意:由于docker的机制问题,docker容器后台运行就必须有一个前台进程,如果不是一些一直挂起的任务会自动退出。
-i 以交互模式运行容器,通常与-t共同使用
-t 为容器提供一个伪输入终端
-P 随机端口映射
-p 指定端口映射,有四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
COMMAND : 添加一个执行的命令,会在容器启动后执行
2.列出当前正在运行的容器
docker ps [OPTIONS]
OPTIONS参数说明
-a 列出当前正在运行的容器,加历史上运行过的
-l 显示最近创建的容器
-n 显示最近n个创建爱你的容器
-q 静默模式,只显示容器的编号
--no-trunc 不截断输出
3.退出容器
exit 容器停止并退出
ctrl+p+q 容器不停止退出
4.启动容器
docker start 容器ID和容器名
5.重启容器
docker restart 容器ID和容器名
6.停止容器
正常停止:
docker stop 容器ID和容器名
强制停止:
docker kill 容器ID和容器名
7.删除已经停止的容器
docker rm 容器ID
批量删除:
docker rm -f ${docker ps -a -q} 或
docker ps -a -q | xargs docker rm
8.查看容器日志
docker logs -f -t --tail 容器ID
-t 加入时间戳
-f 跟随最新的日志打印
--tail 数字 显示最后多少条
9.查看容器内运行的进程
docker top 容器ID
10.查看容器内部细节
docker inspect 容器ID
11.进入正在运行的容器
docker exec -it 容器ID bashshell
重新进入:
docker attach 容器ID
exec 和 attach 的区别:
attach是直接进入容器的终端,exec 可以直接在宿主机对容器进行操作,并且不会打开新的终端
12将容器内容拷贝到主机
docker cp 容器ID:容器内路径 主机路径