docker工人:保存 – 不产生输出

相当新的使用Docker ..

我为Oracle 11g Full提供了一个映像。 创build一个数据库,并将一个应用程序安装到容器中

一旦configuration正确,我犯了导致15GB的图像的容器。

testing了一个新的图像容器,一切工作正常,Oracle服务等自动启动,然后我只是附加和运行应用程序…一切都好。

我需要上传到服务器上,所以我的意图是:

1)保存容器
2)将tarball上传到服务器
3)装载容器

但是,当我运行以下命令:

sudo docker save --output ~/etlf_961_meta.tar etlf/informatica9.6.1:latest

它只是挂起,不产生输出。

该过程是活动的,但没有文件出现,没有任何活动:

T20 chris # ps aux | grep "docker save" root 26179 0.0 0.0 91928 5000 pts/14 S+ 16:36 0:00 sudo docker save --output /home/chris/etlf_961_meta.tar etlf/informatica9.6.1:latest root 26201 0.0 0.0 127404 14664 pts/14 Sl+ 16:36 0:00 docker save --output /home/chris/etlf_961_meta.tar etlf/informatica9.6.1:latest root 26277 0.0 0.0 14232 980 pts/0 S+ 16:36 0:00 grep --color=auto docker save

如果我使用exportimport过程运行正常,一个15GB的图像生成,可以导入,但我失去了所有的ENV和CMD元数据。

任何人都可以build议:

1)如何解决save命令,实际导出容器
要么
2)如何将ENV / CMD元数据(..the dockerfile?)恢复或附加到导出/导入的图像?

非常感激

由于您是docker工人的新手,我想提出一些可能会让您的生活更轻松的事情:

我做了一个容器,导致了一个15GB的图像。

通常不推荐用于标准工作stream。 这不是真正的可重复的。 我build议使用FROM <oracle image>创build一个Dockerfile并在Dockerfile这项工作。

如果您有大数据集,则可能需要pipe理卷或主机绑定挂载(又称卷挂载)。

我需要上传到服务器上,

这样做的推荐方法是使用docker push来推送到registry。

它只是挂起,不产生输出。

这可能是非常慢的? 您也可以检查docker守护进程日志文件以查看是否有任何警告。

如何将ENV / CMD元数据(..the dockerfile?)恢复或附加到导出/导入的图像?

我不认为这是可能的。