2015-07-13 70 views
0

因此,目前我正在PHP中構建一個API作爲在nginx上運行的不同(微)服務。不知道如何構建我的Docker體系結構

我跟蹤了所有的Docker基本視頻並查看了文檔,但我仍然無法弄清楚如何實現它。

  • 我是否需要一個服務器來將代碼推送到容器上(部署在CI上)?
  • 容器卷是否也被推送到集線器?所以我的代碼將在容器本身?

回答

0

我覺得你搞砸了一下什麼是容器和什麼是圖像。對我來說,圖像是你在磁盤上運行的東西。容器是在計算機上運行的圖像和服務/做事情的圖像。

我需要,我把我的代碼,並部署在容器

不,你沒有一臺服務器。您從一些基礎映像和Dockerfile開始構建映像。因此,製作一些工作目錄,在這裏複製Dockerfile,將PHP源代碼複製到PHPAPI中,並在Dockerfile中複製PHP到Docker中的命令。沿線

FROM ubuntu:15.04 
MAINTAINER guidsen 

RUN apt-get update && \ 
    apt-get install -y nginx && \ 
    apt-get install -y php && \ 
    apt-get autoremove; apt-get clean; apt-get autoclean 

RUN mkdir -p /root/PHPAPI 
COPY PHPAPI /root/PHPAPI 

WORKDIR /root/PHPAPI 
CMD /root/PHPAPI/main.php 

是否容器容積被推到輪轂呢?所以我的代碼將在容器本身?

這取決於你用什麼從圖像運行容器。 AWS我認爲需要從Docker集線器中提取圖片,因此您必須先將其推送到此處。其他一些雲提供商或私有云需要將圖像直接推送給它們。是的,你的代碼將在圖像中,並將在容器中運行。

+0

那麼每個服務都會有nginx呢?不是最好有一個nginx容器,並將其鏈接到您的服務? – guidsen

+0

@guidsen這是我無法回答的問題,我不知道你想要的架構。說,你想PHPAPI + nginx連接到數據庫。好的實現方式是使用PHP + nginx,帶有數據庫引擎的另一個映像,以及帶有db表的另一個純數據映像。當你運行它時,你會得到一個帶有OHO + nginx的容器,幾個帶有數據庫和幾個數據容器的容器 –