目录
1.docker镜像操作
1.查看镜像
查看镜像
[root@docker docker]# docker images
[root@docker docker]# docker images -q
[root@docker docker]# docker images -aq
2.查看版本
查看docker的版本
[root@docker docker]# docker --version
Docker version 20.10.12, build e91ed57
[root@docker docker]# docker version
[root@docker docker]# docker info ##快速统计当前运行的容器数量
docker info的镜像数目是根据镜像id来判断个数的
client端和server端的API版本会直接影响到k8s中docker的版本
3.搜索镜像
搜索镜像
[root@docker docker]# docker search lnmp
4.下载镜像
下载镜像(默认docker hub中下载)
[root@docker docker]# docker pull nginx
[root@docker docker]# docker pull centos:7
5.查看镜像详细信息
查看镜像的配置文件
[root@docker docker]# docker inspect 605c77e624dd
修改镜像的配置文件
-
进行挂载,然后修改
-
进入对方的镜像,然后对配置文件进行修改
overlayFS存储引擎
-
LowerDir只读
-
MergeDir展示
-
UpperDir读写
-
workDir
6.添加镜像标签
添加镜像标签
[root@docker docker]# docker tag nginx:latest nginx:lnmp
7.删除镜像
删除镜像
docker rmi 镜像名称/标签
[root@docker docker]# docker rmi nginx:lnmp
8.批量删除镜像
过滤镜像
[root@docker docker]# docker images |grep nginx
删除过滤镜像——使用正则匹配
[root@docker docker]# docker rmi `docker images |grep nginx`
批量删除镜像
[root@docker docker]# docker rmi `docker images -q`
[root@docker docker]# docker rmi `docker images -aq`
9.镜像导出
镜像导出
[root@docker opt]# docker save -o nginx_v1 nginx:latest
10.镜像导入——可以跨服务器
镜像导入
[root@docker opt]# docker load <nginx_v1
2.docker容器操作
1.查询容器
查看容器
[root@docker docker]# docker ps
[root@docker docker]# docker ps -a
2.创建容器
创建容器
[root@docker opt]# docker create -it nginx:latest /bin/bash
-i | 让容器的标准输入保持打开 |
---|---|
-t | 分配一个伪终端 |
-d | 后台守护进程的方式运行 |
3.启动容器
启动容器法一
docker start 容器id
[root@docker opt]# docker start b9ad77b84eab
启动容器法二
[root@docker opt]# docker run -itd nginx:latest /bin/bash
指定守护进程就不会退出了,exitd(0)是正常退出
4.启动容器(一次性执行)
[root@docker opt]# docker run centos:7 /usr/bin/bash -c ls /
若想要容器运行完毕时不退出的话,需要指定守护进程,还必须执行持续任务
[root@docker opt]# docker run -d centos:7 /bin/bash -c "while true;do echo hello;done"
5.进入容器
一次性
[root@docker docker]# docker run -itd centos:7 /bin/bash
exec模式进入的容器必须为开启的状态
[root@docker docker]# docker exec -it 8de7dccdd484 /bin/bash
docker run -it会创建前台进程,但是会在输入exit后终止进程。
docker attach会通过连接stdin,连接到容器内输入输出流,会在输入exit后终止容器进程.
docker exec -it 会连接到容器,可以像SSH一样进入容器内部,进行操作,可以通过exit退出容器,不影响容器运行。(缺点就是安全性低)
6.批量删除容器
正常退出0 手动退出137
[root@docker opt]# docker rm -f `docker ps -q`
删除的是up状态的容器(正在运行时的容器)
-f强制删除,运行状态的容器需要强制删除
删除的是异常退出的容器
[root@docker opt]# docker rm -f `docker ps -aq`
批量删除一部分容器(进行过滤,采用正则匹配)
[root@docker ~]# docker ps -a |docker rm -f `awk '{print $1}'`
批量删除exit状态的容器
[root@docker ~]# for i in `docker ps -a |grep -i exit |awk '{print $1}'`;do docker rm -f $i;done
7.容器导出
类似于快照
docker export 容器ID >文件名
[root@docker ~]# docker export 8de7dccdd484 > centos7_oyyy
8.容器导入(导入的是镜像不是容器)
法一:
docker import 导出的文件名(容器) 指定的镜像名称和标签
[root@docker ~]# docker import centos7_oyyy centos7:1
法二:
[root@docker ~]# cat centos7_oyyy |docker import - centos7:2
9.查看容器资源占比
[root@docker ~]# docker stats
可以查看容器的名称,容器id,cpu占用率,内存使用率,内存的最大限制(硬限制),网络I/O,磁盘I/O和pid——查询所有当前容器资源消耗信息