Docker基本命令
查看镜像
#查看下载到本地的所有镜像
docker images
查看所有状态容器
docker ps -a #-a 选项可以显示所有的容器
docker —— run 指令
docker run hello-world
工作流程
- docker client客户端连接到了服务端(服务端是以一个守护进程的形式跑在操作系统里面的) restful api典型的c/s架构
- 由docker服务端的守护进程从docker hub 上下载了镜像(Ps:服务端会先检查本地系统是否有这个镜像)
- 服务端创建了一个新的容器,然后从拉去的这个镜像启动了一个容器,容器执行了脚本/可执行程序让我们可以查看/使用(client)
- docker 服务端把这些信息流(传递)返回到客户端并展示出来,(展示在终端上)
- docker client可以是多种形式,比如"docker"命令工具所在的终端
查看docker版本命令
docker version
docker -v
查看docker信息
docker info
#可以用该命令统计每一个状态的容器有多少个
docker帮助命令文档
docker --help
docker 镜像操作
搜索镜像(公共仓库)
docker search 关键字
下载镜像
docker pull 仓库名称[:标签]
查看镜像列表
docker images
获取镜像信息
docker inspect 镜像ID
添加镜像标签
docker tag 名称:[旧标签] 新名称:[新标签]
删除镜像
docker rmi 仓库名称:标签 #当一个镜像有多个标签时,只是删除其中指定的标签
docker rmi 镜像ID号 #会彻底删除该镜像
容器操作
查询所有容器运行状态
docker ps -a
创建容器
docker create [选项] 镜像
启动容器
docker start 容器的ID/名称
启动容器(一次性执行)
docker run -itd nginx:latest /bin/bash
docker run centos:7 /usr/bin/bash -c ls /
docker run -d centos:7 /bin/bash -c "while true;do echo hello;done"
查看容器ip地址
docker inspect 容器id
进入容器
docker exec -it 容器ID/名称 /bin/bash
使用run进入,可以使用ctrl+d退出,直接退出终端
docker run -it centos:7 /bin/bash
想永久性进入,退出后还是运行状态,用docker exec
docker ps -a
docker exec -it b99e0771c4e1 /bin/bash
docker attach,会通过连接stdin,连接到容器内输入输出流,公在输入exit后终止容器进程(临时性的,不推荐)
容器导出/导入
用户可以将任何一个 Docker 容器从一台机器迁移到另一台机器。在迁移过程中,可以使用docker export 命令将已经创建好的容器导出为文件,无论这个容器是处于运行状态还是停止状态均可导出。可将导出文件传输到其他机器,通过相应的导入命令实现容器的迁移。
导出:
docker export b99e0771c4e1 > centos_7
导入:
docker import centos_7 centos:v1
cat centos_7 |docker import - centos:v2
删除容器
docker rm [-f] 容器ID/名称
不能删除运行状态的容器,只能-f强制删除,或者先停止再删除
docker rm 3224eb044879
已经退出的容器,可以直接删除
docker rm 1270a6791069
基于名称匹配的方式删除
docker rm -f distracted_panini
删除所有运行状态的容器
docker rm -f `docker ps -q`
删除所有容器
docker rm -f `docker ps -aq`
有选择性的批量删除 (正则匹配)
docker ps -a l awk ' {print "docker rm "$1}'l bash
删除退出状态的容器
for i in `dockef ps -a l grep -i exit / awk '{print $1}' '; do docker rm -f $i;done
查看docker消耗的资源状态
docker stats