docker 容器container 镜像image 删除常用备忘

发布时间 2023-05-24 19:10:59作者: Neo0820

首先是注意:

上面jeecgbootdatahub的容器和镜像都在一起,删除容器的和镜像要注意。

  1. 要重新部署的话首先要先停掉在跑的容器。

通过docker ps查看

 

红框部分是jeecgboot的前后端容器,其他的是datahub的容器。

 2.Jeecgboot是通过jar包部署在cl-mdm容器中。

3. 部署的过程如下:

上传jar包到/docker/target目录下,

 

/docker目录下执行命令进行镜像打包

docker build -f Dockerfile -t cl-mdm .

 

 

 

 

 

 

然后执行下述命令生成容器

docker run --name cl-mdm -d -p 9000:8081 --restart always cl-mdm

 

 

前面的cl-mdm2是容器名字,后面的cl-mdm是镜像的名字。

 4.如果容器中当前有cl-mdm在跑,则需要首先停止容器,再根据容器ID删除掉容器。镜像也删除掉,再执行步骤3进行打包。

停止(指定ID的)容器

 

 

这时候发现已经没有这个容器了。

 

 

但是容器中还是需要删除它,否则后面再编译跑cl-mdm容器的时候会提示已经有cl-mdm这个容器的存在。所以执行删除指定ID的容器。

执行:docker container rm c33bcf85690d

 

 

 

必要的时候要把无用的镜像删除掉,为什么会有无用的镜像呢?因为再重新打jeecgbootjar包生成cl-mdm之前,docker中有一个同名的镜像文件存在。

 

 

当用docker build一个同名的镜像后,

 

 

 

会把原来镜像 仓库名、Tag都置为空,给新的镜像留下位置。

 

 

这样操作完几次以后就变成

 

 

 

可以通过下面的命令删除仓库中无效的镜像文件

使用命令“docker rmi 镜像ID”删除Nginxstable-perl)的镜像,只取“IMAGE ID”的前3个字符即可。

docker rmi 镜像ID(IMAGE ID)

 

 

 

清理几次后就干净了,

不过删除镜像之前肯定必须先删除使用该镜像在跑的容器。

 

 5.还有一项就是如果cl-mdm容器启动起来了,但是jeecgboot因为配置或者其他原因报错无法起来怎么办呢?办法就是进入到容器中找到日志文件。

 

 

 6.找到cl-mdm的启动日志后,下一步就是把容器中的日志文件拷贝到宿主机当中。

执行命令:docker cp 容器ID:/路径 .

 

 

注意后面有个.