Skip to content

Commit 82d9ab9

Browse files
Merge pull request docker#36 from mrburrito/aws-iam-roles
Doc update to support standard AWS credential loading.
2 parents c118895 + f590974 commit 82d9ab9

File tree

1 file changed

+30
-15
lines changed

1 file changed

+30
-15
lines changed

machine/drivers/aws.md

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,20 @@ To create machines on [Amazon Web Services](http://aws.amazon.com), you must sup
1616

1717
## Configuring credentials
1818

19-
Before using the amazonec2 driver, ensure that you've configured credentials.
19+
Before using the amazonec2 driver, ensure that you've configured credentials. The driver uses Amazon's default credentials chain
20+
to lookup credentials unless they are explicitly provided on the command line. The credential chain uses the following providers
21+
to authenticate with AWS:
2022

21-
### AWS credential file
22-
23-
One way to configure credentials is to use the standard credential file for Amazon AWS `~/.aws/credentials` file, which might look like:
24-
25-
[default]
26-
aws_access_key_id = AKID1234567890
27-
aws_secret_access_key = MY-SECRET-KEY
28-
29-
On Mac OS or various flavors of Linux you can install the [AWS Command Line Interface](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-quick-configuration) (`aws cli`) in the terminal and use the `aws configure` command which guides you through the creation of the credentials file.
30-
31-
This is the simplest method, you can then create a new machine with:
32-
33-
$ docker-machine create --driver amazonec2 aws01
23+
1. Command line flags
24+
1. Environment variables
25+
1. AWS credentials file
26+
1. EC2 Instance Role
3427

28+
For more information, see the [AWS SDK for Go Developer's Guide](http://docs.aws.amazon.com/sdk-for-go/v1/developerguide/configuring-sdk.html).
29+
3530
### Command line flags
3631

37-
Alternatively, you can use the flags `--amazonec2-access-key` and `--amazonec2-secret-key` on the command line:
32+
The first way to specify credentials is with the flags `--amazonec2-access-key` and `--amazonec2-secret-key` on the command line:
3833

3934
$ docker-machine create --driver amazonec2 --amazonec2-access-key AKI******* --amazonec2-secret-key 8T93C******* aws01
4035

@@ -46,6 +41,26 @@ You can use environment variables:
4641
$ export AWS_SECRET_ACCESS_KEY=MY-SECRET-KEY
4742
$ docker-machine create --driver amazonec2 aws01
4843

44+
### AWS credentials file
45+
46+
You can also configure the standard credential file for Amazon AWS, `~/.aws/credentials`, which might look like:
47+
48+
[default]
49+
aws_access_key_id = AKID1234567890
50+
aws_secret_access_key = MY-SECRET-KEY
51+
52+
On Mac OS or various flavors of Linux you can install the [AWS Command Line Interface](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-quick-configuration)
53+
(`aws cli`) in the terminal and use the `aws configure` command which guides you through the creation of the credentials file.
54+
55+
This is the simplest method. You can then create a new machine with:
56+
57+
$ docker-machine create --driver amazonec2 aws01
58+
59+
### EC2 Instance Role
60+
61+
If you are running docker-machine from an existing EC2 instance, the amazonec2 driver will use the credentials for the IAM role
62+
assigned to the instance if they are configured.
63+
4964
## Options
5065

5166
- `--amazonec2-access-key`: Your access key id for the Amazon Web Services API.

0 commit comments

Comments
 (0)