2017-05-30 79 views
0

我目前有一个内置于php 5.4的遗留应用程序,我试图迁移到openshift。使用替代容器镜像的Openshift

然而,似乎PHP 5.4并不作为openshift 3.5中的默认容器图像。这是我的buildconfig文件的一部分。

... 
    source: 
    type: Git 
    git: 
     uri: 'https://xxx.git' 
     ref: master 
    secrets: null 
    strategy: 
    type: Source 
    sourceStrategy: 
     from: 
     kind: ImageStreamTag 
     namespace: openshift 
     name: 'php:5.5' 
     ... 

到目前为止,一切都按预期工作。但是,在sourceStrategy部分,如果我将名称更改为:“name:'php:5.4'”,则失败。

是否有任何可能的方式来获得PHP 5.4环境?

人们似乎在这个网址的PHP 5.4墨盒: https://github.com/openshift-cartridges/origin-community-cartridges/tree/master/openshift-origin-cartridge-php-5.4

我将如何将它集成到我的openshift环境?

我目前正在测试机上运行openshift容器平台3.5。

谢谢。

+0

磁带盒适用于较旧的OpenShift V2,而不是您正在使用的V3。 –

+0

在OpenShift V3中,捆绑S2I构建器的唯一PHP版本支持5.5,5.6和7.0。 https://github.com/sclorg/s2i-php-container –

回答

1

正如Graham的评论所述,软件集合库不提供PHP 5.4的容器,但是没有什么能阻止您创建自己的映像并将其部署到您的OpenShift环境中。

创建它安装PHP 5.4的图像,例如Dockerfile:

FROM centos:7 

RUN yum install -y php-common php-cli ftp://rpmfind.net/linux/centos/7.3.1611/os/x86_64/Packages/php-5.4.16-42.el7.x86_64.rpm 

CMD ["php", "-v"] 

运行下面的命令来构建映像,并将它推到Dockerhub docker build -t docker.io/your-username/php:5.4 . docker push docker.io/your-username/php:5.4

然后,您可以使用此图像以创建ImageStream或直接在您的DeploymentConfig中引用Docker集线器上的图像containers:["image"]

+0

唯一的问题是,这样做将不会启用S2I,您将需要构建自己的映像,其中还包括要托管的文件。 –

+0

当然,但如果他**需要** 5.4环境,那么要么就是要么创建自己的S2I图像?这可能是一个更简单的入门方法。 – user2983542

+0

那么根据Graham的说法,在这种解决方案下,我将无法像以前那样自动使用git来获取源文件?我需要在容器中添加apache吗? – hervens