我的Dockerfile如下所示,它使用高山特使映像作为基本映像。
Web
我正在将自己的服务二进制文件“ myservice”复制到此基本映像,该映像正常工作。但是我想将自己的图像版本作为参数传递,如果我使用--from参数化标记, docker compose引发错误,并带有无效的参考错误。我尝试了以下方法,但没有一个起作用。
方法1:
ARG envoy_image=envoyproxy/envoy-alpine:v1.14.1
FROM ${envoy_image}
COPY --from=myimage:1.1 /usr/local/myproject/myservice /usr/local/myproject/myservice
WORKDIR /usr/local/myproject/myservice
COPY abc.sh /usr/local/bin
这会给出带有无效引用的错误。
方法2:
ARG envoy_image=envoyproxy/envoy-alpine:v1.14.1
ARG my_image=myimage:1.1
FROM ${envoy_image}
COPY --from=${my_image} /usr/local/myproject/myservice /usr/local/myproject/myservice
WORKDIR /usr/local/myproject/myservice
COPY abc.sh /usr/local/bin
但是,在Dockerfile上面还出现错误,它无法复制/ usr / local / myproject / myservice,因为不存在这样的文件,但是我的映像在/ usr / local / myproject目录中有一个名为“ myservice”的文件。
关于如何设置我的图像参数的任何线索吗?
注意:我只需要在构建时传递映像版本,而不是在运行容器时传递映像版本。