【问题标题】:Can't figure out how I have to build my Docker architecture无法弄清楚我必须如何构建我的 Docker 架构
【发布时间】:2015-07-13 02:19:53
【问题描述】:

所以目前我正在 PHP 中构建一个 API,作为在 nginx 上运行的不同(微)服务。

我已经关注了所有 Docker 基础视频并浏览了文档,但我仍然不知道如何实现它。

  • 我是否需要一个服务器来将我的代码推送到容器并在容器上进行部署(使用 CI 左右)?
  • 容器卷是否也被推送到集线器?所以我的代码将在容器本身中?

【问题讨论】:

    标签: docker dockerfile docker-compose


    【解决方案1】:

    我认为你搞砸了什么是容器和什么是图像。对我来说,图像是你构建在磁盘上运行的东西。而容器是在计算机上运行并服务/做事的镜像。

    我是否需要一个服务器来将我的代码推送到容器上并部署在容器上

    不,你没有。您开始从某个基础映像和 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 中心提取图像,因此您必须先将其推送到此处。其他一些云提供商或私有云需要将图像直接推送给他们。是的,您的代码将在映像中,并将在容器中运行。

    【讨论】:

    • 那么每个服务都会有nginx了?拥有一个 nginx 容器并将其链接到您的服务不是更好吗?
    • @guidsen 这是我无法回答的问题,我不知道您想要的架构。比如说,你想要 PHPAPI+nginx 连接到数据库。好的实现是使用 PHP+nginx 的图像,另一个带有数据库引擎的图像,以及另一个带有 db 表的纯数据图像。当你运行它时,你会得到一个带有 OHO+nginx 的容器,几个带有数据库的容器和几个数据容器
    猜你喜欢
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    • 2020-09-21
    • 2020-03-26
    相关资源
    最近更新 更多