27

我对 docker 很陌生,正在尝试将我的 AWS EC2 AMI 导入到 docker 映像中。该图像是 m2 linux 图像。

我还设置了一个私有 docker hub(artifactory),我打算将图像推送到它并使其可供使用。在不从基础映像开始和更新的情况下将 AMI 导入 docker 映像的步骤是什么。

指向任何解释的指针也可以。

4

3 回答 3

28

这是我的做法。

  • 在源 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

  • 安装泊坞窗

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

  • 从挂载的根卷导入 docker 镜像

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

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

于 2016-02-01T07:18:10.347 回答
3

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

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。

于 2015-03-29T01:54:54.140 回答
1

cd从那里创建目录和tar树的 tar 文件时。

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

然后创建图像...

docker import /tmp/drive-image.tgz

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

于 2015-12-02T22:45:06.083 回答