docker没有';t将文件放入预期装入的文件夹中
我有一个docker没有';t将文件放入预期装入的文件夹中,docker,Docker,我有一个Dockerfile看起来像这样 FROM python:3.7-alpine VOLUME /folder WORKDIR / ADD my_packge.whl . RUN wget -O- "https://packages.cloudfoundry.org/stable?release=linux64-binary&source=github" | tar -zx -C /usr/local/bin && \ apk updat
Dockerfile
看起来像这样
FROM python:3.7-alpine
VOLUME /folder
WORKDIR /
ADD my_packge.whl .
RUN wget -O- "https://packages.cloudfoundry.org/stable?release=linux64-binary&source=github" | tar -zx -C /usr/local/bin && \
apk update && \
apk add --virtual deps gcc python3-dev linux-headers musl-dev libffi-dev openssl-dev && \
apk add --no-cache bash && \
pip install my_package.whl && \
apk del deps
ENTRYPOINT [ "python_app" ]
docker run --rm \
-v ${WORKSPACE}/TEST_RESULTS:/folder \
-e CF_USERNAME=${CF_USN} \
-e CF_PASSWORD=${CF_PWD} \
container/${CF_SPACE}:${GIT_TAG_NAME} \
-b 'myy_parameter'
我是这样执行的
FROM python:3.7-alpine
VOLUME /folder
WORKDIR /
ADD my_packge.whl .
RUN wget -O- "https://packages.cloudfoundry.org/stable?release=linux64-binary&source=github" | tar -zx -C /usr/local/bin && \
apk update && \
apk add --virtual deps gcc python3-dev linux-headers musl-dev libffi-dev openssl-dev && \
apk add --no-cache bash && \
pip install my_package.whl && \
apk del deps
ENTRYPOINT [ "python_app" ]
docker run --rm \
-v ${WORKSPACE}/TEST_RESULTS:/folder \
-e CF_USERNAME=${CF_USN} \
-e CF_PASSWORD=${CF_PWD} \
container/${CF_SPACE}:${GIT_TAG_NAME} \
-b 'myy_parameter'
我希望执行结果会将一些文件放入${WORKSPACE}/TEST_results
。但事实并非如此
有什么问题?本地测试…结果文件夹将在容器启动时装入映像中的文件夹目录,而不是相反。因此,如果在启动时,容器中的test…results文件夹中有一个文件my file.txt。但是,如果容器中有myfile2.txt,则不会在主机中显示。一旦容器已经运行,如果您将myfile3.txt复制到/folder中,那么该文件也将在主机中可用,因此我需要在添加和workdir后设置卷?请这样考虑。假设您的图像是一个表,/folder目录是您放置在表上的一个框。当你建立你的形象时,你在盒子上放了一堆东西。然后在启动容器时,取下一个新的空框(test_results文件夹),将其放在表中,并将旧框隐藏在表下。然后,当您尝试访问表上框的内容时,它是空的。基本上就是这样,所以你可以在启动容器之前把你需要的任何文件放到test_results目录中。或者2启动容器,登录到容器并重新生成需要放入文件夹目录的任何文件。这将把文件复制到您的主机,并从。在上,您可以正常启动Lyso当我使用mount时,我不能使用ADD?