首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在docker-machine上运行docker-compose

在docker-machine上运行docker-compose
EN

Stack Overflow用户
提问于 2017-07-14 04:58:03
回答 1查看 1.1K关注 0票数 1

我正在尝试使用docker-machine和docker-compose在单个ec2实例上部署两个服务。

这就是我要做的:

代码语言:javascript
复制
docker-machine create --driver amazonec2 --engine-install-url=https://web.archive.org/web/20170623081500/https://get.docker.com mymachine

docker-machine ssh mymachine -- mkdir -p /home/ubuntu/myapp

git clone https://github.com/myapp/service1.git
docker-machine scp -r ./service1 mymachine:/home/ubuntu/myapp/
rm -rf ./service1

git clone https://github.com/myapp/service2.git
docker-machine scp -r ./service2 mymachine:/home/ubuntu/myapp/
rm -rf ./service2

docker-machine env mymachine
//export DOCKER_TLS_VERIFY="1"
//export DOCKER_HOST="something"
//export DOCKER_CERT_PATH="something"
//export DOCKER_MACHINE_NAME="mymachine"

eval $(docker-machine env mymachine)

docker-machine active
//mymachine

docker-compose -f ./docker-compose-prod.yml up -d

我得到这个错误:build path /home/ubuntu/myapp/service1 either does not exist, is not accessible, or is not a valid URL.

docker-compose-prod.yml相关部分:

代码语言:javascript
复制
version: '3'

services:
  service1:
    build:  /home/ubuntu/myapp/service1

  service2:
    build:  /home/ubuntu/myapp/service2

当通过ssh检查时,路径是正常的,看起来docker-compose仍然在我的本地机器上工作,当我为它提供一个本地存在的构建路径时,它会很高兴。Docker本身在远程机器上执行命令。

如何让docker-compose在远程docker机器上运行?

我是新手,所以希望我错过了一些微不足道的东西。谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-23 18:45:19

一个docker build (包括docker-compose build)包含一个“构建上下文”。此上下文是您选择从客户端发送到docker引擎以执行构建的所有文件,包括Dockerfile。您可以使用.dockerignore文件从此上下文中删除文件。

当您运行docker build /home/ubuntu/myapp/service1或在本例中将该目录包含在compose.yml文件中时,您将/home/ubuntu/myapp/service1定义为您从客户端发送到docker引擎的构建上下文。该引擎可以是本地或远程节点,在本例中是ec2实例。从那里,一切都可以远程运行,包括Dockerfile文件中引用此上下文的任何COPYADD命令。

要远程运行构建,您可以将上下文保留在本地计算机上,而不是运行rm,或者您可以ssh进入ec2实例并在该计算机上本地运行docker-compose命令(您可能需要在那里安装docker-compose,我不确定它是否包含在默认的机器映像中)。我通常倾向于前者,因为它允许在用于构建映像的文件上进行更容易的开发,并且它允许远程docker机器是短暂的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45090766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档