【Docker】如何强制Dockerfile使用本地镜像

问题背景

使用本地镜像进行构建

#指定操作的镜像
FROM centos:local
#设置服务器时区
RUN rm -f /etc/localtime \
&& ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone
#执行命令:创建目录
RUN mkdir -p /usr/local/soft
ADD jdk1.8.0_361 /usr/local/soft/jdk
ADD userInfo.war /usr/local/soft/

#安装工具
ADD rpm /root/rpm
RUN mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak && cd /root/rpm && yum localinstall * -y && rm -rf /root/rpm
#添加环境变量
ENV JAVA_HOME /usr/local/soft/jdk
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
ENV LANG C.UTF-8

#暴露8080端口
EXPOSE 8080
ENTRYPOINT java -Xms128m -Xmx1536m -Djava.security.egd=file:/dev/./urandom -Duser.timezone=Asia/Shanghai -Dfile.ecoding=UTF-8 -jar /usr/local/soft/userInfo.war

但是build的时候会自动从docker.io拉取

解决办法

DOCKER_BUILDKIT=0 docker build --no-cache -t userinfo_prod:v1.0.2025062501 .

使用DOCKER_BUILDKIT=0使其从本地构建

posted @ 2025-06-25 17:00  onejay  阅读(218)  评论(0)    收藏  举报