删除镜像

因为我们在进行docker操作时,会有很多镜像忘记删除,导致无用数据过多,这时候我们就可以运用删除镜像的命令解决该方法

docker memory无法删除容器 of out docker 删除容器内文件_docker

 

 如图所示创建了三个镜像

我们删除用到的docker rmi ID或者name都可以

前提条件:正在运行中的镜像,需要删除,需要做的步骤具体为:1、在容器中停止它的运行 docker stop ID2、在容器中删除它的记录 docker rm ID3、根据镜像的名字或者ID来删除该镜像 docker rmi ID或NAME

A、根据镜像名称删除

docker rmi 名称或者ID

批量删除

docker rmi $(docker images -q) :批量删除所有的镜像#docker images -q:获取镜像的ID#$(docker images -q) :返回所有的镜像ID linux&mac

镜像导入导出的场景

异地的办公模式,那么场景就是:异地的开发同学写完代码后,然后把自己的应用程序打包成镜像,打包成镜像后,发送给测试同学,测试同学运行镜像(前提是把镜像导入中docker中),镜像运行成功后,等于环境部署成功,可以测试通许可以开始测试了。

开发同学操作:

1、写代码

2、写的代码打包成镜像

3、把镜像导出

4、发送给测试同学

测试同学操作:

1、接收开发发送的镜像

2、导入镜像到docker中

3、运行镜像

4、开始测试

镜像的导入和导出

导出

镜像导出的命令  (以导入helloworld为例)

docker image save hello-world:latest(被导入的镜像) -o C:\xuexi\hello.taz(被导出的镜像在本地的记录,名称为自定义)

 

实际操作效果

docker memory无法删除容器 of out docker 删除容器内文件_2d_02

 

 导入

当我们需要一个已经打包好的镜像进行导入的时候,我们需要输入以下指令

docker image load -i c:\xuexi\hello.taz

其中 load  带有加载的性质  -i 指的是详细的记录     

输出信息

e07ee1baac5f: Loading layer [==================================================>] 14.85kB/14.85kB
Loaded image: hello-world:latest

截图如下

docker memory无法删除容器 of out docker 删除容器内文件_centos_03

 

 

关于docker run容器的理解

 

docker run 镜像名称这个过程可以理解为:

把镜像文件创建成docker容器的一部分,然后在进行启动。

需要注意的是:容器内的进程必须是前台运行状态,否则容器直接退出。

还有一点要特别提醒的:docker run 镜像名 如果镜像文件本地不存在,那就会在线下载该镜像的资源信息

如下代码

docker run -it --rm centos

Unable to find image 'centos:latest' locally
latest: Pulling from library/centos
a1d0c7532777: Pull complete
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
[root@5d97dbdba0cd /]# exit
exit

 

关于容器的命令

在运行镜像中,后面需要带一些指令的信息,这些指令的信息具体汇总为如下:
• -d:后台运行
• -it:交互式命令
• --rm:容器挂掉后自动被删除
• --name:给容器起一个名字
• -p:端口映射

容器信息的查看

#linux
docker ps -a | grep 容器ID 
#windows
docker ps -a | findstr 容器ID

docker memory无法删除容器 of out docker 删除容器内文件_docker_04

 

 windows 的运行效果

docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
403582d65d42        centos              "/bin/bash"         15 seconds ago      Up 13 seconds


docker ps -a  | grep  403582d65d42
403582d65d42        centos              "/bin/bash"         42 seconds ago      Up 40 seconds                           nostalgic_haslett


docker container inspect 403582d65d42

linux的运行效果

 

查看容器的详细的信息

docker container inspect 容器ID

 

docker memory无法删除容器 of out docker 删除容器内文件_centos_05

 

 查看容器日志的步骤

1、运行镜像
docker run -it --rm centos
2、查看运行中的容器的ID信息
docker ps -a 
3、获取到容器的ID后,查看容器实时的日志信息
docker logs -f 容器ID
4、比如在Linux中安装vim的编辑器,安装的命令为:yum install -y vim,那么在容器的日志记录中也会实时的显示安装它的全部信息

 

如图所示

docker memory无法删除容器 of out docker 删除容器内文件_docker_06

 查看日志最后五条信息

docker logs -t --tail 5 容器ID

代码详解:-t为时间戳   -tail 为末尾的意思 

docker memory无法删除容器 of out docker 删除容器内文件_docker_07