如何在gitlab本地分支上安装docker卷?

时间:2018-06-25 10:26:00

标签: docker gitlab

我正在尝试挂载gitlab本地分支文件夹。 Docker运行命令在这里:

docker run --name img -v "$(pwd)":/app test-image

这不起作用。 我将此添加到了.gitlab-ci.yml文件中。

如何在运行docker容器时挂载gitlab分支文件夹以写入数据?

我一直在寻求帮助:-(

1 个答案:

答案 0 :(得分:0)

最后我可以在同事的帮助下使其工作:-)

我是gitlab的新手。抱歉,如果我解释错了。

这是我的解决方案:

我试图在容器中挂载本地文件夹以在本地文件夹中创建输出文件,这样我就可以查看输出文件。

这是我的Dockerfile

FROM openjdk:7
RUN mkdir /myApp
COPY myProject/  /myApp
ENTRYPOINT ["perl","/myApp/entrypoint.pl"]

这里我要将输出存储在docker容器中的/ app中,并将其挂载到本地文件夹中。我正在使用以下命令。

docker run --name img -v "$(pwd)":/app test-image

这是挂载点"$(pwd)":/app(本地当前工作目录),但这未在我的当前目录中创建任何输出。我不知道是否有可能在本地分支目录中创建输出。

我查看输出文件和输出的意图是静态html内容。因此,我通过使用 gitlab页面解决了这一问题。我安装gitlab 工件的方式是,可以在 gitlab页面中查看我的文件(您只能为静态html内容创建gitlab页面)。

这是我的gitlab CI文件

pages:
 stage: deploy
 image: docker:stable
 script:
   - mkdir -p ./public
   - docker run -v "$(pwd)"/input:/source -v "$(pwd)":/output test-image -input
     /source -output /ouput/public  || true

 artifacts:
  paths:
    - public

根据我的要求,docker run上方的命令是将命令行参数(-input和-output)传递给docker image中的perl脚本。

重要的是输出。我们可以为输入和输出提供任何名称,但是输出应该安装在 artifact 上的 public 上。

在当前目录中将文件夹创建为/ public并将其安装为输出。现在,您可以在 gitlab页面(设置->页面)中看到您的输出。 正如我之前提到的,只有当它是具有index.html的静态html内容时,我们才能查看gitlab页面。 如果没有index.html,则必须下载工件并查看文件。作业完成后,将创建一个工件文件夹。您可以查看作业执行的右侧。