Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何将文件从当前docker容器复制到另一个容器_Node.js_Docker_Dockerfile - Fatal编程技术网

Node.js 如何将文件从当前docker容器复制到另一个容器

Node.js 如何将文件从当前docker容器复制到另一个容器,node.js,docker,dockerfile,Node.js,Docker,Dockerfile,我正在使用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_TOKE

我正在使用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 runner docker映像中复制,而目标项目-e2e是“外部的”?

如果您想将生成的文件复制到容器中,可以使用docker进行复制:

docker cp-nightwatch:/opt/project/build/core/your_文件

基本上,这种模式是:

docker cp

如果源/目标是容器,则必须使用:


源和目标是交换的,不是吗?您可以用两种方式使用它们。。取决于源/目标的位置。它不工作。为了更好地理解,我更新了帖子。问题是您没有为您的容器指定名称,容器名称!=图像的名称,在这种情况下,您应该尝试使用容器的ID。