【发布时间】:2016-09-16 12:26:12
【问题描述】:
使用场景是这样的:
我已经使用 docker-machine 预置了一个 AWS EC2 实例。
我想使用 docker-compose 在该 EC2 实例上远程启动一些容器。
撰写文件有这样的部分:
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
ports:
- "8888:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- /home/ubuntu/nginx.tmpl:/app/nginx.tmpl:ro
如果我在本地使用docker-compose up -d,它会起作用,因为“/home/ubuntu/nginx.tmpl”文件存在于我的本地计算机上。
但如果我尝试像这样使用 docker-compose 来控制 AWS 中的远程守护进程:
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://x.y:2376"
export DOCKER_CERT_PATH="somedir"
docker-compose up -d
它将失败,因为远程计算机中不存在“/home/ubuntu/nginx.tmpl”文件。
我试过在远程机器同目录下创建这样的文件,可以,但是感觉不对……
将本地文件挂载到远程 docker daemon 的更好方法是什么?
【问题讨论】:
标签: docker docker-compose docker-machine docker-volume