Chr*_*son 8 metadata export save docker dockerfile
使用 Docker 还算陌生..
我提取了 Oracle 11g Full 的映像。创建数据库并将应用程序安装到容器中。
正确配置后,我提交了容器,生成了 15GB 的映像。
测试了该映像的新容器,一切正常,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 元数据。
任何人都可以建议:
1) 如何解析save
命令,以实际导出容器
或
2) 如何将 ENV/CMD 元数据(..dockerfile?)恢复或附加到导出/导入的映像?
非常感激
由于您是 docker 新手,我想建议一些可能会让您的生活更轻松的事情:
我提交了容器,生成了 15GB 的映像。
commit
通常不建议用于标准工作流程。它并不是真正可重现的。我建议创建一个Dockerfile
使用FROM <oracle image>
并在Dockerfile
.
如果您有大型数据集,您可能希望在卷或主机绑定安装(也称为卷安装)中管理这些数据集。
我需要将其上传到服务器上,
推荐的方法是使用docker push
推送到注册表。
它只是挂起并且不产生任何输出。
可能只是速度太慢了?您还可以检查 docker 守护进程日志文件以查看是否有任何警告。
如何将 ENV/CMD 元数据(..dockerfile?)恢复或附加到导出/导入的映像?
我认为这是不可能的。
归档时间: |
|
查看次数: |
8629 次 |
最近记录: |