首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将Docker镜像转换为(流浪者) VirtualBox盒?

如何将Docker镜像转换为(流浪者) VirtualBox盒?
EN

Stack Overflow用户
提问于 2014-05-03 04:42:03
回答 3查看 13.9K关注 0票数 15

我一直在关注Packer.io,并且很乐意使用它来配置/准备我们的开发人员使用的流浪(VirtualBox)盒子。

我知道我可以使用Docker包装器构建器使用VirtualBox来构建盒子,但我发现VirtualBox的层堆叠可以提供更快的盒子开发过程。

如何使用Dockerfile生成镜像,然后将其导出为Vagrant box?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-17 05:40:55

docker images中查找docker图像的大小

代码语言:javascript
运行
复制
REPOSITORY   TAG    IMAGE ID       CREATED             SIZE
mybuntu   1.01   7c142857o35   2 weeks ago         1.94 GB

基于镜像docker run mybuntu:1.01运行容器

从容器创建一个QEMU镜像,同时使用第一个命令(seek=IMAGE_SIZE)中镜像的大小。并且,对于docker export命令,从docker ps -a检索适当的容器id

代码语言:javascript
运行
复制
dd if=/dev/zero of=mybuntu.img bs=1 count=0 seek=2G
mkfs.ext2 -F mybuntu.img
sudo mount -o loop mybuntu.img /mnt
docker export <CONTAINER-ID> | sudo tar x -C /mnt
sudo umount /mnt

使用qemu-utils转换为vmdk

代码语言:javascript
运行
复制
sudo apt-get install qemu-utils
qemu-img convert -f raw -O vmdk mybuntu.img mybuntu.vmdk

有关可用于转换的格式的更多信息,请访问here。现在您可以在virtualbox中导入vmdk文件

票数 18
EN

Stack Overflow用户

发布于 2014-05-03 16:05:27

如果您的目标是VirtualBox,那么在整个过程中使用Vagrant可能会更好。

Vagrant附带了一个可以自动在虚拟机上安装docker并构建Dockerfiledocker provisioner

代码语言:javascript
运行
复制
Vagrant.configure("2") do |config|
  config.vm.provision "docker" do |d|
    d.build_image "/vagrant/app"
  end
end 

一旦您的映像构建完成,您就可以使用vagrant package命令生成一个流浪箱。

票数 7
EN

Stack Overflow用户

发布于 2014-05-03 23:52:05

这是我要尝试的路线:

要获得焦油球,请使用

这将允许我使用Docker设置/配置机器,然后在vagrant控制的Virtualbox中运行它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23436613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档