问题1:请问云效的docker构建可以设置其他镜像源码?目前官方的golang:1.19构建有问题,一直失败,之前成功的tag重新构建也是失败。apt-get update 直接报错。 问题2:golang 只是用来编译的,最终上传的不是这个镜像?
请问云效的docker构建可以设置其他镜像源码?目前官方的golang:1.19构建有问题,[阿里云云效]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
问题1:请问云效的docker构建可以设置其他镜像源码?目前官方的golang:1.19构建有问题,一直失败,之前成功的tag重新构建也是失败。apt-get update 直接报错。 问题2:golang 只是用来编译的,最终上传的不是这个镜像?
问题1:云效的 Docker 构建可以设置其他镜像源码。在云效的构建配置中,您可以使用
Dockerfile
文件来定义您的构建过程,并在其中指定您所需的镜像源。对于遇到 golang:1.19 构建失败的问题,您可以尝试使用其他可靠的 golang 镜像作为构建基础镜像,或者通过在
Dockerfile
中添加适当的命令来更新和配置官方镜像。例如,您可以使用RUN apt-get update
命令之前先更换源或配置代理,以解决apt-get update
报错的问题。如果您需要进一步的调试和分析构建失败的原因,建议查看构建日志,其中可能会提供有关失败的详细信息。您还可以与云效的技术支持团队联系,以获取更准确和详细的帮助和支持。
问题2:是的,通常情况下,对于使用 golang 进行构建的项目,最终上传的不是 golang 的基础镜像本身,而是构建完成后的应用程序镜像。使用 golang 镜像进行构建时,可以在
Dockerfile
中将编译生成的二进制文件复制到最终的镜像中,并设置适当的运行环境。“回答1:最近dockerhub有更新golang 1.19 导致的这个问题,您看看您之前什么时候构建是成功的呢?构建成功的日志发一下日志呢。 以 maven:3-jdk-8 为例,找到最后一次成功的构建的日志,会看到其中有这样的两行 [10:45:37] 3-jdk-8: Pulling from library/maven [10:45:38] Digest: sha256:ff18d86faefa15d1445d0fa4874408cc96dec068eb3487a0fc6d07f359a24607 [10:45:38] Status: Image is up to date for maven:3-jdk-8 将基础镜像改成 maven:3-jdk-8@sha256:ff18d86faefa15d1445d0fa4874408cc96dec068eb3487a0fc6d07f359a24607 即可 我们也需要更新一下我们的构建插件的版本呢,或者您用私有构建机也可以,不过docker版本要高一些 使用私有构建机我们就不收取构建的费用了。 回答2:是的,就是这个基础镜像更新之后出现的问题,您也是在编译的时候报错的吧,需要换一个老一些的版本。 此回答整理自钉群“云效客户服务权益4群””
回答1:
云效的Docker构建可以设置其他镜像源码。如果您官方的golang:1.19构建存在问题,可以尝试以下步骤:
确认您的Dockerfile文件中是否存在错误或语法问题。请仔细检查文件中的每一行,确保没有任何拼写错误、缺少依赖项或错误的命令。
尝试在构建之前更新Docker镜像。您可以使用以下命令来更新Docker镜像:
shell docker pull golang:1.19 这将从Docker Hub下载最新版本的golang:1.19镜像。
如果更新镜像后仍然存在问题,您可以尝试从其他镜像源码构建。例如,您可以尝试使用官方之外的镜像源码构建。可以在Dockerfile文件中指定非官方的镜像源:
shell FROM : 替换 为您选择的非官方镜像源的URL或名称,并将 替换为所需的镜像标签。
回答2:
在一般情况下,您在构建Docker镜像时使用的镜像只是用于编译和构建应用程序,最终上传的镜像应该是包含已编译应用程序的镜像。
例如,如果您使用的是golang:1.19镜像来编译您的应用程序,那么最终上传的应该是包含已编译应用程序的自定义镜像,而不是原始的golang:1.19镜像本身。
因此,在构建Docker镜像时,您应该根据自己的需求选择适合的镜像源,并使用适当的命令和操作来构建您的应用程序和生成最终的镜像。