惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Vulnerabilities – Threatpost
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
P
Palo Alto Networks Blog
大猫的无限游戏
大猫的无限游戏
量子位
S
Secure Thoughts
博客园 - 【当耐特】
V
Visual Studio Blog
腾讯CDC
爱范儿
爱范儿
Webroot Blog
Webroot Blog
The Register - Security
The Register - Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Latest news
Latest news
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
Cloudbric
Cloudbric
T
Troy Hunt's Blog
S
Security @ Cisco Blogs
B
Blog RSS Feed
I
Intezer
S
SegmentFault 最新的问题
N
News and Events Feed by Topic
云风的 BLOG
云风的 BLOG
C
CXSECURITY Database RSS Feed - CXSecurity.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Hacker News: Ask HN
Hacker News: Ask HN
Google DeepMind News
Google DeepMind News
TaoSecurity Blog
TaoSecurity Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Recorded Future
Recorded Future
Google DeepMind News
Google DeepMind News
Forbes - Security
Forbes - Security
雷峰网
雷峰网
博客园 - 司徒正美
C
Cisco Blogs
S
Securelist
L
LINUX DO - 最新话题
P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
J
Java Code Geeks
N
News | PayPal Newsroom
N
News and Events Feed by Topic

博客园 - Neo0820

把阿里云效制品仓库当成Maven私仓推送私包 CentOS 空环境安装容器 容器docker系列 docker容器 从windows迁移到centos dbsyncer注意事项 博文阅读密码验证 - 博客园 pingcode 代码关联规则 博文阅读密码验证 - 博客园 lilishop 锁 威纶通屏幕(HMI)数据地址格式的讲解 西门子S7-200的VB、VW和VD 字节地址和位地址有什么区别? 西门子plc s7-200 中I、Q、M、SM、T、C、V、S、L分别指什么? 博文阅读密码验证 - 博客园 C语言各数据类型所占字节数 威纶通HMI常见数据格式 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 威纶通HMI系列
docker 容器container 镜像image 删除常用备忘
Neo0820 · 2023-05-24 · via 博客园 - 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的容器。

怎么发现已经停止的容器?

是发现在运行的容器,容器停止掉了需要加一个  -a  参数,字面意思理解应该是all,这样就可以找到已经停止的容器进行删除操作。

执行: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:/路径 .

注意后面有个.