目录
一.镜像常用命令
1.查看docker版本
docker version
或
docker info #此命令还可以统计总数和各状态数量
2.搜索镜像
docker search //从Docker Hub查找镜像
#例:我想搜索centos7
[root@c7-5 opt]# docker search centos:7
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
#参数说明:
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
AUTOMATED: 自动构建。
3.下载镜像
docker pull //从镜像仓库中拉取或者更新指定镜像
#例:下载centos7
docker pull centos:7
注:当没有表明版本号时默认下载最新版本
例如 docker pull tomcat #此时下载的是最新版本
4.查看镜像列表
[root@c7-5 opt]# docker images //列出本地镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7 eeb6ee3f44bd 2 months ago 204MB
#解释
REPOSITORY //镜像仓库
TAG //镜像标签
IMAGE ID //镜像ID
CREATED //镜像创建时间
SIZE //镜像大小
#选项
-a //列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
--digests //显示镜像的摘要信息;
-f //显示满足条件的镜像;
--format //指定返回值的模板文件;
--no-trunc //显示完整的镜像信息;
-q //只显示镜像ID
5.查看镜像信息
[root@c7-5 opt]# docker inspect centos:7 //获取容器,镜像的元数据
6.添加镜像标签
docker tag //标记本地镜像,将其归入某一仓库。
#例:
[root@c7-5 opt]# docker tag centos:7 centos:7.14 //修改7为7.14
[root@c7-5 opt]# docker images //再次查看发现多出一个镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7 eeb6ee3f44bd 2 months ago 204MB
centos 7.14 eeb6ee3f44bd 2 months ago 204MB
7.删除镜像
docker rmi 镜像名称
docker rmi 镜像标签
#可选项
-f :强制删除
#删除所有:
docker rmi `docker images -q`
#若只想删除centos7
docker rmi `docker images |grep centos:7`
8.镜像导出
docker save -o 文件名 镜像名 //将指定镜像保存成 tar 归档文件。
#选项:
-o :输出到的文件。
#例:
docker save -o centos_7 centos:7
9.镜像导入
docker load < centos_7
二.容器常用命令
1.查询容器
docker ps -a
#选项:
-a : 显示所有的容器,包括未运行的。
-f : 根据条件过滤显示的内容。
--format : 指定返回值的模板文件。
-l : 显示最近创建的容器。
-n : 列出最近创建的n个容器。
--no-trunc : 不截断输出。
-q : 静默模式,只显示容器编号。
-s : 显示总的文件大小。
2.创建容器
docker create -it centos:7 /bin/bash //创建一个新的容器但不启动它
#调用 /bin/bash 交互
#选项:
-i : 让容器的标准输入保持打开
-t : 分配一个伪终端
-d : 后台守护进程的方式运行
#去查询容器会发现状态为Created
[root@c7-5 opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
134a784c54a3 centos:7 "/bin/bash" 6 seconds ago Created hopeful_lichterman
3.启动容器
docker start 容器ID //启动一个或多个已经被停止的容器
#再去查询状态会发现变成正在运行中
[root@c7-5 opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
134a784c54a3 centos:7 "/bin/bash" 3 minutes ago Up 10 seconds hopeful_lichterman
4.一次性启动容器
docker run centos:7 /usr/bin/bash -c ls /
#一次性运行centos:7并查看根
#接着去查询状态会发现是退出状态
[root@c7-5 opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6a036e466e1a centos:7 "/usr/bin/bash" 3 seconds ago Exited (0) 1 second ago objective_leakey
#退出状态是因为没有设置守护进程,如果想要他持续运行,需要加上 -d,并给他一个持续性任务
docker run -d centos:7 /bin/bash -c "while true;do echo hello; done"
#再去查看状态就会是正在运行
[root@c7-5 opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a28917d35e70 centos:7 "/bin/bash -c 'while…" 4 seconds ago Up 4 seconds dazzling_dijkstra
5.停止容器
docker stop 容器ID
6.进入容器
1.使用run进入(暂时进入)
docker run -it centos:7 /bin/bash
#若想退出则直接exit,但是容器会自动关闭
2.使用exec(持续进入)
docker exec -it 容器ID /bin/bash
#使用此命令时容器必须为开启状态
#退出也是exit,但是不会停止
exec利和shell是两种运行模式
ps
①docker run -it会创建前台进程,但是会在输入exit后终止进程。
②docker attach会通过连接 stdin ,连接到容器内输入输出流,会在输入 exit 后终止容器进程.
③docker exec -it会连接到容器,可以像SSH一样进入容器内部,进行操作,可以通过 exit 退出容器,不影响容器运行。
7.容器导出
docker export 容器ID > 文件名
例:
[root@c7-5 opt]# docker export 134a784c54a3 > centos_7
[root@c7-5 opt]# ls
centos_7
8.容器导入(生成镜像)
docker import 导出的文件名(容器) 指定镜像名称
#例:
docker import centos_7 centos:7_v1
9.删除容器
docker rm 容器ID
#强制删除容器(正在运行的):
docker rm -f 容器ID
#批量删除容器
docker rm `docker ps -aq`
#删除所有容器
10.查询所有当前容器资源消耗信息
docker stats