我是前端开发,被部署的问题折腾了很久,在网上也没有找到有用的信息,所以发帖求助。 背景:我用若依前后端分离版([若依前后端分离-Vue](https://link.segmentfault.com/?enc=ExcagbpJSs9nvTRYBusVHQ%3D%3D.yFZAKYo7wAlAu0XtSMxJdyZcEoNFmrKvoGRe14oKjcb1LV7r2MM6%2FzCNI7vLx182))做了一个简单后台,因为没有后端基础,所以想借助微信云托管来进行服务部署,目前这个云托管服务也是免费的。 微信云托管是自动部署的,我用若依部署老是失败,问了他们客服,客服说云托管是基于docker的,所以项目必须是以容器的方式部署,建议我先尝试本地镜像构建。然后我安装了相关工具在本地调试。 因为若依后台本身没有Dockerfile,所以我把微信云托管的示例([部署模板](https://link.segmentfault.com/?enc=%2FSueM8AYCkh8kMN6FwsUpg%3D%3D.uHxWk5R92NhhibMHG6bPwIRsrVJdKIkiHVm6vmW%2BMW%2Fq57D1mWbF1vXu8aoHL0claxg7bXlrYKsbafse7uyr%2FszzubrCaxpShwY3zJ4iYkQ%3D))项目中的Dockerfile和setting.xml直接拷贝到了若依的根目录,然后按照微信提供的调试文档([调试文档](https://link.segmentfault.com/?enc=pJyozshoL67iUbKTngwKyw%3D%3D.v%2FGwDgQwh%2FreuVYTdWYazWaiiYPk3qx16cDmEXI9kL7wXUvChXibHjNu13s3AgBBx5vm9HcgtE0eyuVlQGR4Qsep9r9c2lsireYGvikoPxg%3D))来调试若依的这个项目,但是在构建的时候总是报这个错,目前卡着这里,不知道怎么处理了,希望有大佬能够提供帮助,非常感谢! 这是项目根目录:  这是Dockerfile,从部署模板copy来: # 二开推荐阅读[如何提高项目构建效率](https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/scene/build/speed.html) # 选择构建用基础镜像。如需更换,请到[dockerhub官方仓库](https://hub.docker.com/_/java?tab=tags)自行选择后替换。 FROM maven:3.6.0-jdk-8-slim as build # 指定构建过程中的工作目录 WORKDIR / # 将src(原本是src,这里改为了ruoyi-admin)目录下所有文件,拷贝到工作目录中src目录下(.gitignore/.dockerignore中文件除外) COPY ruoyi-admin /app/src # 将pom.xml文件,拷贝到工作目录下 COPY settings.xml pom.xml /app/ # 执行代码编译命令 # 自定义settings.xml, 选用国内镜像源以提高下载速度 RUN mvn -s settings.xml -f /app/pom.xml clean package # 选择运行时基础镜像 FROM alpine:3.13 # 安装依赖包,如需其他依赖包,请到alpine依赖包管理(https://pkgs.alpinelinux.org/packages?name=php8*imagick*&branch=v3.13)查找。 # 选用国内镜像源以提高下载速度 RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tencent.com/g' /etc/apk/repositories \ && apk add --update --no-cache openjdk8-jre-base \ && rm -f /var/cache/apk/* # 容器默认时区为UTC,如需使用上海时间请启用以下时区设置命令 # RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone # 使用 HTTPS 协议访问容器云调用证书安装 RUN apk add ca-certificates # 指定运行时的工作目录 WORKDIR /app # 将构建产物jar包拷贝到运行时目录中 COPY --from=build /app/target/*.jar . # 暴露端口 # 此处端口必须与「服务设置」-「流水线」以及「手动上传代码包」部署时填写的端口一致,否则会部署失败。 EXPOSE 8080 # 执行启动命令. # 写多行独立的CMD命令是错误写法!只有最后一行CMD命令会被执行,之前的都会被忽略,导致业务报错。 # 请参考[Docker官方文档之CMD命令](https://docs.docker.com/engine/reference/builder/#cmd) CMD ["java", "-jar", "/app/springboot-wxcloudrun-1.0.jar"] setting.xml没有任何改动。 按照@fefe提供的方法有了进展,不过后面还有新的问题,截图补充:    新的错误好像是说找不到pom.xml,不过源码的每个木块是有对应文件的,是否是Dockerfile里的配置不够呢? 补充:@汝何不上九霄,镜像已经启动成功:  不过我试着接口连接27082,27081,8080,都无法访问接口。 我直接通过这里启动,可以通过8080端口访问接口,但是这里启动好像和在不在容器没有关系,因为,日志产生新的日志,请问我应该怎么正确访问接口。  配置文件截图: Dockerfile.development截图:  docker-compose.yml截图:  修改Dockerfile.developent后构建镜像:  启动镜像:  docker客户端:  接口请求用8080端口,请求超时;请求用端口51747返回404 补充信息:  start之前是这样的:     :80的端口没有搜索到,全局搜索只有这个文件有8080:  这是我start的过程。然后有若依有一个对应的前端vue项目,我启动了,访问地址是用8080的端口:  访问前端项目,接口会报超时的错误。大概是这样一个过程。