mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-26 20:18:52 +00:00
Merge pull request #124 from nathanleclaire/aws_readme
Add README for AWS AMI build
This commit is contained in:
commit
0b4463431c
54
alpine/aws/README.md
Normal file
54
alpine/aws/README.md
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
# Compile Moby for AWS (Amazon Machine Image)
|
||||||
|
|
||||||
|
#### Requirements
|
||||||
|
|
||||||
|
To compile, the requirements are:
|
||||||
|
|
||||||
|
1. Must be working on a EC2 instance
|
||||||
|
2. Must have `docker` and `docker-compose` installed
|
||||||
|
3. Must have configured Amazon credentials on instances (`aws configure`)
|
||||||
|
|
||||||
|
(The build will mount `~/.aws` into the build container).
|
||||||
|
|
||||||
|
#### Building
|
||||||
|
|
||||||
|
To bake the AMI:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ make ami
|
||||||
|
```
|
||||||
|
|
||||||
|
Inside of the `alpine/` subdirectory of the main Moby repo.
|
||||||
|
|
||||||
|
This will:
|
||||||
|
|
||||||
|
1. Clean up any remaining artifacts of old AMI builds
|
||||||
|
2. Creates a new EBS volume and attaches it to the build instance
|
||||||
|
3. Formats and partitions the volume for installation of Linux
|
||||||
|
4. Sets up artifacts (`initrd.img` and `vmlinuz64`) inside the new partition for booting
|
||||||
|
5. Installs MBR to boot syslinux to the device
|
||||||
|
6. Takes snapshot of EBS volume with Moby installed
|
||||||
|
7. Turns the snapshot into an AMI
|
||||||
|
|
||||||
|
#### Testing
|
||||||
|
|
||||||
|
Once the AMI has been created a file, `aws/ami_id.out` will be written which
|
||||||
|
contains its ID.
|
||||||
|
|
||||||
|
You can boot a small AWS instance from this AMI using the `aws/run-instance.sh`
|
||||||
|
script.
|
||||||
|
|
||||||
|
There is no SSH available today, but inbound access on the Docker API should
|
||||||
|
work if you configure a proper security group and attach it to the instance.
|
||||||
|
|
||||||
|
For instance, allow inbound access on `:2375` and a command such as this from
|
||||||
|
your compiler instance should work to get a "root-like" shell:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ docker -H 172.31.2.176:2375 \
|
||||||
|
run -ti \
|
||||||
|
--privileged \
|
||||||
|
-v /:/hostfs \
|
||||||
|
alpine:3.3 \
|
||||||
|
chroot /hostfs
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user