距离我尝试启动并运行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中心获取两个图像,制作docker-compose.yml,向上运行docker-compose,关闭机箱。我不能把头缠在这个:|
答案 0 :(得分: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连接到此设备,您需要显式公开端口。