I have a docker swarm all hosted on AWS, created basically along the lines of this tutorial .
To deploy our code, I need to be able to access this swarm separate of the computer where I created these instances. I don't see anywhere in the docs for the docker-machine
amazonec2
driver where I can use my AWS credentials to connect to these existing instances.
Some tutorials I came across use a --url
argument to specify via the docker-machine
url to connect to an existing instance, but I don't see that argument in my most recent docker-machine version.
Other tutorials mention TLS configuration and using that in conjunction with docker-machine
to connect to existing instances, but given unique/secret AWS credentials, this seems redundant and adds a layer of complexity I hope I can avoid.
What is the recommended approach to this?
Unable to connect:
puttygen my-key.pem -L > id_rsa
docker-machine create --driver generic --generic-ip-address=ec2-....compute.amazonaws.com --generic-ssh-key id_rsa Swarm-Dev01
Running pre-create checks... Creating machine... (Swarm-Dev01) Importing SSH key... Waiting for machine to be running, this may take a few minutes... Detecting operating system of created instance... Waiting for SSH to be available...
To get access to an existing instance, you can use the docker-machine create --driver generic
command. The command will ssh onto the machine, make sure docker is installed, and then download certificates that it stores for future access eg using docker-compose.
Command:
docker-machine create \
--driver generic \
--generic-ip-address=<your_ip> \
--generic-ssh-key ~/.ssh/id_rsa \
vm
Documentation: https://docs.docker.com/machine/drivers/generic/
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.