从EC2 AMI创建一个泊坞窗图像/容器

时间:2015-03-29 00:08:29

标签: docker dockerfile dockerhub docker-registry

我是docker的新手,我正在尝试将我的AWS EC2 AMI导入docker镜像。该图像是m2 linux图像。

我还设置了一个私人码头中心(神器),我打算将图像推送到其中并使其可供使用。将AMI导入docker镜像而不从基本图像开始并更新的步骤是什么。

任何解释的指针也会奏效。

3 个答案:

答案 0 :(得分:15)

我是这样做的。

  • 在源AMI上,在描述
  • 中找到根卷快照ID

<强>的/ dev / SDA1 = snap-eb79b0b1:15:真:GP2

  • 使用公共Ubuntu 14.04 AMI启动实例

  • 从快照snap-eb79b0b1创建卷(与实例运行的区域相同)。

  • 将卷附加到实例/dev/sdf

  • 将卷装入/mnt

mount /dev/xvdf /mnt

(或)

mount /dev/xvdf1 /mnt

  • 安装docker

https://docs.docker.com/engine/installation/ubuntulinux/

  • 从已安装的根卷导入docker镜像

tar -c -C /mnt/ . | docker import - appcimage-master-1454216413

  • 运行

docker run -t -i 6d6614111fcb03d5ca79541b8a23955202dfda74995d968b5ffb5d45c7e68da9 /bin/bash

答案 1 :(得分:1)

Docker可以使用docker import命令从tar文件创建映像。来自the documentation

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图像创建tar存档,然后将其提供给docker。

答案 2 :(得分:0)

在目录中创建tar文件cd时,从那里创建tar树。

cd /media/my-external-drive
tar -czvf /tmp/drive-image.tgz

然后创建图像......     docker import /tmp/drive-image.tgz

这允许dockerized容器在运行时创建正确的路径。