使用已安装的卷将目录从Docker容器复制到主机

时间:2018-10-19 14:00:23

标签: docker dockerfile

我使用以下docker文件构建docker映像

FROM alpine:edge
ARG ciUser=bamboo

RUN apk --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ add \
 nodejs nodejs-npm chromium firefox xwininfo xvfb dbus eudev ttf-freefont fluxbox libc6-compat

WORKDIR /opt/systac
RUN adduser -u 500 -g 500 -s /bin/bash -h /opt/systac -D $ciUser
USER $ciUser

COPY ./package.json /opt/systac/package.json
COPY ./package-lock.json /opt/systac/package-lock.json

RUN npm install \
    && npm cache clean --force \
    && rm -rf /tmp/*

ENV NODE_PATH=/opt/systac/node_modules

USER root
COPY ./docker/docker-entrypoint.sh /opt/systac/
COPY ./cucumber.js /opt/systac/
COPY ./ListAllFiles.js /opt/systac/
RUN chmod +x /opt/systac/docker-entrypoint.sh

ENV SCREEN_WIDTH=1280
ENV SCREEN_HEIGHT=720

VOLUME ["/opt/systac/e2e"]
USER $ciUser
ENTRYPOINT ["/opt/systac/docker-entrypoint.sh"]
CMD [ "npm", "run", "e2e-test"]

我这样构建docker映像

docker build --no-cache --build-arg ciUser=bamboo -t bhreinb/workmate .

然后我在docker容器中运行它,目的是在运行图像后立即将其丢弃

docker run --rm -it -v $PWD/e2e/:/opt/systac/e2e bhreinb/systac

作为运行入口点命令(恰好是NPM脚本)的一部分,将在容器中生成文件夹作为该进程的一部分。它被写入位置/opt/systac/results

我希望将该目录复制回主机,以便可以对此进行报告(即,我们在该输出目录中写入了html,日志文件等)

我看过这篇文章可以实现我的目标,但不幸的是,这对我没有用

https://stackoverflow.com/questions/42848279/how-to-mount-volume-from-container-to-host-in-docker/52167722#52167722

在上述方面的任何帮助将不胜感激。

0 个答案:

没有答案