Я пытаюсь развернуть две службы на одном экземпляре ec2 с помощью docker-machine и docker-compose.
Вот что я делаю:
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:
version: '3'
services:
service1:
build: /home/ubuntu/myapp/service1
service2:
build: /home/ubuntu/myapp/service2
Путь в порядке при проверке через ssh, кажется, что docker-compose все еще пытается работать на моей локальной машине, он счастлив, когда я предоставляю ему путь сборки, который существует локально. Docker сам выполняет команды на удаленной машине.
Как заставить docker-compose работать на удаленной докер-машине?
Я новичок в этом, поэтому, надеюсь, мне не хватает чего-то тривиального. Спасибо за помощь!