【问题标题】:centos/apache/php/mongodb - can't get this to work togethercentos/apache/php/mongodb - 不能让它一起工作
【发布时间】:2019-01-23 16:24:08
【问题描述】:

我已经尝试启动并运行 docker 容器已经有几天了,但总是出现问题。

我需要(大部分)LAMP 堆栈,只需要 MySQL -> mongoDb。

当然,我首先查看 docker hub 并尝试从其他人那里合成一些图像。配置后谷歌搜索。最简单的方法无法通过设置 MONGODB_ADMIN_USER 和 MONGODB_ADMIN_PASSWORD 的阶段,并且总是返回代码 1,尽管提到的变量是在 yml 中设置的。

我尝试从 centos/mongodb 映像开始,安装 apache、php 和诸如此类,提交它,然后在我自己的映像上工作,但是没有内核,很难在 docker 容器中正确安装和运行 apache。

所以我再次尝试,在这里找到了有前途的项目:https://github.com/akhomy/docker-compose-lamp 但无法附加到容器,无法使用默认设置运行 localhost,尽管显然组成阶段正常。

有没有人碰巧有 docker 文件/docker-compose 的工作集? 或者一些有用的提示?真的,看起来很简单,从 docker hub 获取两个图像,制作 docker-compose.yml,运行 docker-compose up,关闭案例。我无法理解这个:|

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    Docker 方法不是将所有服务放在一个容器中,而是为单个服务提供一个容器。所有 Docker 工具都与此保持一致。

    要启动 LAMP 堆栈,您只需下载 docker-compose,创建定义了 3 个服务的 docker-compose.yml 文件并运行 docker-compose up

    Docker compose 是一个容器编排工具,适用于单机。

    您至少需要对这个工具有一个小小的了解,仅作为一个示例,我提供了示例配置文件:

    docker-compose.yml

    version: '3'
    services:
      apache:
        image: bitnami/apache:latest
        .. here goes apache config ...
      db:
        image: mongo
        .. here goes apache config ...
      php:
        image: php
        .. here goes php config ...
    

    使用docker-compose up 启动此操作后,您将自动为您创建网络,所有服务都将加入它。他们将在他们的名字下看到对方(假设要从 php 连接到数据库,您将使用 db 作为主机名)。

    要从主机 PC 连接到这些东西,您需要显式公开端口。

    【讨论】:

    • 是的,这或多或少是我最近几天一直在尝试做的事情。总是有什么不对劲。最接近我的是,当 MONGODB_ADMIN_PASSWORD 出现这个问题时,我无法强迫它从 yml 文件中读取配置。也许它是 Windows 机器这一事实并没有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 2015-01-01
    • 2010-09-30
    • 2015-11-24
    • 1970-01-01
    相关资源
    最近更新 更多