我想将容器从一台主机移动到另一台主机。容器已在其文件系统中更新了数据,因此我不想移动原始图像(docker保存),而是容器(使用docker export)。
所以我用
docker export l4bnode > l4bnode.tar
在旧主机上,将文件复制到新主机,然后导入镜像
cat l4bnode.tar | docker import - andi/l4bnode
在新的。但是..看起来我在Dockerfile中拥有的所有配置数据(并且我还可以在运行容器时在命令行中指定/指定)丢失了。我试过了
docker run andi/l4bnode
并得到
docker: Error response from daemon: No command specified.
使用docker inspect,我看到导入图像上的所有数据都是空的,尽管它是在导出的运行容器上设置的。我主要缺少启动命令,工作目录,环境变量和公开的端口(由于迁移和新环境,其中一些我必须更改)。
如何在新主机上应用原始配置,或者最好将其正确迁移?
最佳答案
您可以将当前容器状态commit作为新图像。然后在新图像上使用保存/加载。
话虽如此,这是您通常应该避免的事情。运行时数据应保存在卷中,任何配置更改应通过Dockerfile重建进行。
关于configuration - 通过导出/导入移动Docker容器:丢失配置,如启动命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36283537/