如何将文件从 docker 容器复制到我的主机?

How can I copy files from docker container to my host computer?

这似乎是重复的问题?但我认为不是,也是。我试过了 google.

情况是这样的,我想用Gogs和Drone建立一个CI管道,有了他们的好文档,我已经建立起来了。但是现在,我坚持:How to copy files from container to the host in the container。下面是我的无人机 yml 配置。

pipeline:
build:
  image: node:7
  commands:
    - cd client
    - npm config set registry https://registry.npm.taobao.org
    - npm install --no-optional
    - yarn run build
    - sudo docker cp $(sudo docker ps -alq):$PWD/build /var/www/react/ 

CI 以错误结束:

/bin/sh: sudo: not found

尝试不使用 sudo 后,错误继续:

/bin/sh: docker: not found

我找到的答案都是关于将文件从容器复制到宿主计算机中的shell 运行。但是现在我尝试 运行 的命令在容器中,所以我该怎么办?或者我错过了什么。

您可以在容器上安装卷 - 卷是从主机到容器的目录映射 - 两者之间的共享文件夹

在容器中,您将需要的文件复制到共享文件夹中,主机可以在共享文件夹中访问它们。

在挂载完成之前,不要将文件复制到共享文件夹中。如果这样做,将无法访问这些文件。

这是有关卷的文档:

https://docs.docker.com/storage/volumes/#create-and-manage-volumes