您的位置:首页 > 教育 > 锐评 > 成都高新区疫情防控_石家庄百度提升优化_百度一下你就知道百度一下_外包公司为什么没人去

成都高新区疫情防控_石家庄百度提升优化_百度一下你就知道百度一下_外包公司为什么没人去

2025/3/18 6:26:45 来源:https://blog.csdn.net/qq_39085747/article/details/146208693  浏览:    关键词:成都高新区疫情防控_石家庄百度提升优化_百度一下你就知道百度一下_外包公司为什么没人去
成都高新区疫情防控_石家庄百度提升优化_百度一下你就知道百度一下_外包公司为什么没人去

在构建镜像的时候总会遇到明明更新了里面的某些库文件,但是打包镜像以后发现镜像里面的库文件还是没有被更新,依然使用的旧文件。

试过了很多办法,比如 在构建镜像的时候使用 --no-cache

docker build --no-cache . -t 192.168.11.111:11211/comm:3.2

然而并没有效果,新打包的镜像还是存在部分旧文件,最后无奈把Dokerfile文件换了一种写法,解决问题,当然在此之前试过使用笨办法也能解决;

解决办法:

原本我的 Dockerfile

FROM 192.168.10.110:1199/std-base:4.0ADD bin /home/huu/app/bin
ADD appdata /home/huu/app/appdata
ADD lib/* /home/huu/app/lib/
ADD lib/plugin/* /home/huu/app/lib/plugin/
ENV PROJECTHOME="/home/huu/app"
RUN chmod 755 $PROJECTHOME/bin/start-app.sh
RUN chmod 755 $PROJECTHOME/bin/appinstance
CMD ["/home/huu/app/bin/start-app.sh"]

重新修改后的 Dockerfile

FROM 192.168.10.110:1199/std-base:4.0ADD bin /home/huu/app/bin
ADD appdata /home/huu/app/appdata
ADD lib/ /home/huu/app/lib/
#ADD lib/plugin/* /home/huu/app/lib/plugin/
ENV PROJECTHOME="/home/huu/app"
RUN chmod 755 $PROJECTHOME/bin/start-app.sh
RUN chmod 755 $PROJECTHOME/bin/appinstance
CMD ["/home/huu/app/bin/start-app.sh"]

主要区别就是 lib目录,使用了 lib/  直接添加了整个目录,包括整个目录的文件和文件夹

而原来的是为了添加 plugin目录,又把文件重新加了一遍。经过这样修改以后,之前总是没有更新的几个库文件这次都更新了;

笨办法:
使用原本的Dockerfile文件构建一次镜像,例如:

docker  build .  -t  192.168.10.110:1199/app:2.0

然后运行

docker run -it <镜像ID>   /bin/bash

最后将需要更新的文件,复制到这个容器中

docker cp libodbc.so 123456789abc:/app/lib

将容器打包成一个新的镜像:

docker commit <容器id>  192.168.10.110:1199/app:2.1

然后检查新打包的镜像

docker images

笨办法适用于临时使用,最好还是使用Dockerfile构建镜像

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com