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
如果我使用export
和import
过程运行正常,一个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?)恢复或附加到导出/导入的图像?
我不认为这是可能的。