我正在构建一个带有nodejs应用程序的docker容器,该应用程序将从meteorJS构建。对于构建,使用 shell runner (`meteor build / opt / project / build / core --directory),因为这都是在gitlab CI中完成的。
build:
stage: build
tags:
- deploy
before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- meteor npm install
- meteor build /opt/project/build/core --directory
script:
- cd /opt/project/build/core/bundle
- docker build -t $CI_REGISTRY_IMAGE:latest .
因此,应用程序的文件现在位于/opt/project/build/core
。现在我想将这些文件复制到另一个docker镜像(project-e2e:latest)
我试着做
docker cp /opt/project/build/core/bundle project-e2e:latest/opt/project/build/core
但这给了我错误
Error response from daemon: No such container: project-e2e
但是我知道,容器正在运行:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a238132e37a2 project-e2e:latest "/bin/bash" 14 hours ago Up 14 hours clever_kirch
也许问题是,我试图复制出来的shell跑者码头图像,目标项目-e2e在外面'?
答案 0 :(得分:0)
如果要将生成的文件放入容器中,可以使用docker复制它们:
docker cp nightwatch:/opt/project/build/core/your_file <your_local_path>
基本上模式是:
docker cp <source> <target>
如果源/目标是容器,则必须使用:
<container_name>:<path_inside_container>