2017-04-23 106 views
0

我正在構建一個具有nodejs應用程序的碼頭集裝箱,它將從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。現在我想這些文件複製到另一個泊塢窗圖像(項目E2E:最新)

我試圖做

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 runner docker我法師和目標project-e2e是'外部'?

回答

0

如果你想使用泊塢窗,讓你可以將它們複製生成到容器中的文件:

docker cp nightwatch:/opt/project/build/core/your_file <your_local_path>

基本格局是:

docker cp <source> <target>

如果源/目標是一個容器,你必須使用:

<container_name>:<path_inside_container>

+0

源和目標交換,不是嗎? – user3142695

+0

您可以在兩種方式中使用它們..取決於來源/目標的位置。 – calbertts

+0

它不工作。我已更新以發佈更好的理解。 – user3142695