出于工作目的,我有一个ova文件,我需要将其转换为DockerFile。
有人知道怎么做吗?
提前致谢
答案 0 :(得分:0)
在我看来,这是完全不可能的。但您可以创建具有相同操作系统的dockerfile并安装数据。
答案 1 :(得分:0)
是的,可以使用VM映像并在容器中运行它。我们的许多客户已成功使用此项目:https://github.com/rancher/vm.git。
RancherVM允许您创建在Kubernetes pod中运行的VM, 称为VM Pods。 VM pod看起来和感觉像一个普通的pod。代替 但是,每个VM pod都是运行虚拟机的容器 实例。您可以将任何QEMU / KVM映像打包为Docker映像, 使用任何Docker注册表(如DockerHub)分发它,然后运行它 在RancherVM上。
最近这个项目也与kubernetes兼容。有关详细信息:https://rancher.com/blog/2018/2018-04-27-ranchervm-now-available-on-kubernetes
答案 2 :(得分:0)
有几种不同的方法可以做到这一点。它们都涉及获取VM的磁盘映像。一种是挂载VDI,然后从中创建Docker映像(请参阅其他Stackoverflow答案)。另一个方法是引导VM,然后将完整的磁盘内容(从root开始)复制到共享文件夹。等等。我们已经通过多种方法取得了成功。只要VM中的磁盘与正在运行的容器下面的内核兼容,创建具有完整VM磁盘的Docker映像就可以正常工作。
答案 3 :(得分:0)
以 root 身份安装 ShutIt:
sudo su -
(apt-get update && apt-get install -y python-pip git docker) || (yum update && yum install -y python-pip git docker which)
pip install shutit
先决条件是 python-pip、git 和 docker。您的包管理器中这些的确切名称可能略有不同(例如 docker-io 或 docker.io),具体取决于您的发行版。
您可能需要确保 docker 服务器也在运行,例如使用“systemctl start docker”或“service docker start”。
查看复制服务器脚本:
git clone https://github.com/ianmiell/shutit_copyserver.git
运行 copy_server 脚本:
cd shutit_copyserver/bin
./copy_server.sh
有几个提示——一个是纠正配置文件上的权限,另一个是询问你想使用什么 docker 基础镜像。确保使用尽可能靠近原始服务器的服务器。
请注意,这需要具有“docker exec”选项的 docker 版本。
运行构建服务器:
docker run -ti copyserver /bin/bash
您现在可以在 docker 容器中实际复制您的服务器!
https://zwischenzugs.com/2015/05/24/convert-any-server-to-a-docker-container/