【发布时间】:2017-01-14 14:46:54
【问题描述】:
我在云端有本地 docker 机器和远程 docker 机器。我的 docker-compose 应用程序有一个 webcontainer 和这个配置:
web:
container_name: web
restart: always
build: ./web
expose:
- "8000"
links:
- postgres:postgres
volumes:
- /usr/src/app/static
- ./data:/usr/src/app/data
env_file: .env
command: /usr/local/bin/gunicorn --workers 4 --timeout 120 --bind :8000 app:app
重要的部分是第二卷。我有一个名为 data 的本地文件夹,里面有大约 10GB 的数据。我首先把它做成了一个卷,因为否则构建容器需要很长时间。现在该应用程序已准备好生产,我想部署它。一个问题:现在我的远程web 容器中安装了一个空数据文件夹。那么如何将数据从本地机器移动到远程 docker 机器上的容器中呢?我什至应该把它移到哪里到?
似乎有两个工具可以做到这一点:
-
docker cp似乎不适用于远程 docker 机器 -
docker-machine scp似乎是为此而生的,对吧?
我几乎肯定我需要使用其中的第二个,但由于我不太了解 docker 机器的工作原理或它保存数据的位置,我不确定要使用哪个目标路径:
$ dm scp -r /Users/alex/Documents/Project/data remote-machine:/usr/src/app/data
失败并显示错误消息:
scp: /usr/src/app/data: No such file or directory
我应该在哪里对这些数据进行 scp 处理,以便将其正确挂载到我的远程 web 容器上?
【问题讨论】:
标签: docker docker-compose docker-machine docker-volume