2017-05-30 62 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