从EC2 AMI创build一个Docker镜像/容器
我对Docker非常陌生,正在尝试将我的AWS EC2 AMI导入到Docker镜像中。 该图像是一个m2的Linux的图像。
我还设置了一个私人docker中心(artifactory),我打算推送图像并使其可供消费。 将AMI导入到docker映像而不从基本映像启动并更新的步骤是什么?
指出任何解释也将工作。
这是我如何做到的。
在源AMI上查找描述中的根卷快照ID
的/ dev / SDA1 =卡扣eb79b0b1:15:真:GP2
使用公共Ubuntu 14.04 AMI启动实例
从快照snap-eb79b0b1创build卷(与实例运行的区域相同)。 将卷作为/ dev / sdf附加到实例
将卷挂载到/ mnt
mount / dev / xvdf / mnt
安装docker
https://docs.docker.com/engine/installation/ubuntulinux/
从挂载的根卷导入docker镜像
tar -c -C / mnt /。 | docker导入 – appcimage-master-1454216413
docker run -t -i 6d6614111fcb03d5ca79541b8a23955202dfda74995d968b5ffb5d45c7e68da9 / bin / bash
Docker可以使用docker import
命令创build从tar文件创build映像。 从文档 :
Usage: docker import URL|- [REPOSITORY[:TAG]] Create an empty filesystem image and import the contents of the tarball (.tar, .tar.gz, .tgz, .bzip, .tar.xz, .txz) into it, then optionally tag it.
所以你应该能够从你的AMI镜像创build一个tar档案,然后把它提供给docker。
当创buildtar文件cd
到目录并从那里tar
树。
cd /media/my-external-drive tar -czvf /tmp/drive-image.tgz
然后创build图像… docker import /tmp/drive-image.tgz
这允许dockerized
容器在运行时创build正确的path。