如何通过dockerfile将文件从gitlab runner复制到docker映像

如何通过dockerfile将文件从gitlab runner复制到docker映像,docker,dockerfile,gitlab-ci,devops,gitlab-ci-runner,Docker,Dockerfile,Gitlab Ci,Devops,Gitlab Ci Runner,我需要能够通过gitlab ci/cd将私有gitlab服务器中的ssl文件复制到docker映像中 下面是我的gitlab runner的配置。我已经映射了/root/server ssl目录的卷,以便可以通过ci/cd读取文件 [runners.docker] tls_verify = false image = "docker.myserver.com/gitlab-base-image" privileged = true disable_entrypoi

我需要能够通过gitlab ci/cd将私有gitlab服务器中的ssl文件复制到docker映像中

下面是我的gitlab runner的配置。我已经映射了/root/server ssl目录的卷,以便可以通过ci/cd读取文件

[runners.docker]
    tls_verify = false
    image = "docker.myserver.com/gitlab-base-image"
    privileged = true
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = true
    volumes = ["/var/run/docker.sock:/var/run/docker.sock",
 "/root/.docker/config.json:/root/.docker/config.json",
 "/cache",
 "/root/server-ssl:/root/server-ssl"]
    extra_hosts = ["gitlab.myserver.com:<some_ip>"]
    shm_size = 0
但gitlab ci/cd运行程序总是会出现以下错误:

Step 5/18 : COPY /root/server-ssl/ssl.chained.crt /root/server-ssl/
COPY failed: stat /var/lib/docker/tmp/docker-builder528505413/root/server-ssl/ssl.chained.crt: no such file or directory

有人能帮我复制这些文件吗?

这些文件不在docker构建上下文中。可以想出几种方法将它们引入docker上下文

  • 在Dockerfile所在的文件夹和文件所在的目录中创建符号链接

  • 在运行docker build命令之前,将文件物理复制到docker文件所在的文件夹中

Step 5/18 : COPY /root/server-ssl/ssl.chained.crt /root/server-ssl/
COPY failed: stat /var/lib/docker/tmp/docker-builder528505413/root/server-ssl/ssl.chained.crt: no such file or directory