2015-07-13 36 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的容器,几个带有数据库和几个数据容器的容器 –