我是Docker的新手,我正在尝试将现有应用程序停靠。 目前,该应用程序是 all-in-one 机器,它具有PHP服务器和Web应用程序以及mongo + memcache +弹性搜索。
我正在努力做到以下几点: 1.基于安装了PHP的Web应用程序的容器。我认为nimmis / apache-php5可能是个不错的选择。但是我需要在那个容器中使用mongo,elastic-search和memcache的PHP驱动程序,我无法让一切工作。 2. MongoDB的容器(考虑使用最受欢迎的https://hub.docker.com/_/mongo/) 3.弹性搜索容器 4. memcache的容器。
我想把它全部包装在一个像这样的docker compose文件中(这不是一个有效的例子,因为我没有驱动程序
version:'2'
services:
web:
build:.
volumes:
-.:/var/www/web
ports:
-"80:80"
links:
-db:mongo
-redis
-memcached:memcached
-elk
db:
image:mongo:latest
ports:
-"27017:27017"
redis:
image:bitnami/redis:latest
ports:
-"6379:6379"
elk:
image:sebp/elk
ports:
-"5601:5601"
-"9200:9200"
-"5044:5044"
memcached:
image:memcached:latest
ports:
-"11211:11211"
我也明白,在我的代码中,我将不得不用我在链接中给出的别名(如db)替换我对mongo的localhost引用。一旦我搬到不同的机器,它将如何工作?任何最佳做法?