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

use*_*516 17 docker dockerhub dockerfile docker-registry

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

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

任何解释的指针也会起作用.

use*_*517 16

我就是这样做的.

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

/ dev/sda1 = snap-eb79b0b1:15:true: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


lar*_*sks 3

Docker 可以使用该命令从 tar 文件创建映像docker import。从文档中:

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.
Run Code Online (Sandbox Code Playgroud)

因此,您应该能够从 AMI 映像创建 tar 存档,然后将其提供给 docker。

  • “因此,您应该能够从 AMI 映像创建 tar 存档,然后将其提供给 docker。” - 我该怎么做,我在 AWS 中没有看到将您的 AMI 转换为 tar 球的选项。 (3认同)
  • @Scooby,我会将您想要 dockerify 的目标 EBS 卷安装为另一个实例上的非启动卷。然后是类似“tar -czvfdrive-image.tgz /media/my-external-drive”的语法,假设您将该卷安装在“/media/my-external-drive”并且根卷上有足够的磁盘空间保存 tar 文件。 (3认同)