我被要求将 COTS 产品集装箱化。我发现这个应用程序没有部署/配置步骤/程序。这使用了 rhel6 和以前的应用程序团队,当他们第一次从本地迁移到 AWS 时,他们最初将应用程序复制到 EBS 卷中。之后,只要有带有安全补丁的新 ami 可用,他们就会继续拍摄此卷的快照并附加到新实例。
所以,基本上我不知道如何为此创建一个 Dockerfile,因为我只运行应用程序,但没有人知道它是如何创建的。
关于如何 Dockerize 这个应用程序的任何想法?
我能想到的唯一方法是将已安装应用程序的内容复制为 tar 文件,然后围绕它构建一个 Dockerfile。
FROM centos:6
ADD opt-application.tar.gz /opt
CMD ["/opt/application/bin/start.sh"]
值得检查应用程序是否真的与 Docker 模型兼容。如果与 RHEL 生态系统的其他部分存在紧密的依赖关系,“启动应用程序”想要启动多个守护进程,并且假设 cron 之类的东西正在运行,那么您现有的 AMI 设置可能会更好。
我建议使用centos:6基础镜像,并将整个 EBS 卷复制为镜像层。