在Docker容器中使用Redis和mysql

我的web应用程序需要mysql和redis服务器才能正常工作。 我能够使用链接标记链接mysql容器与应用程序(mysql是使用-name标记设置的mysql图像的名称)

sudo docker run -link mysql:amq -d -p 13310 hitesh/image node app 

现在我不知道如何将redis附加到这个容器。 应该通过相同的mysql映像来完成(如果是的话,两个端口将如何被暴露?),或者我应该为redis创build另一个容器并将其链接到我的node.js应用程序(不知道它是否可能)。

你应该有3个容器

  1. 你的应用程序
  2. 你的mysql
  3. 你的redis

然后在相关的容器上暴露你的mysql端口和redis端口。

然后当你运行你的应用程序容器时,只需将mysql和redis容器链接到你的应用程序

所以有点像

 sudo docker run -d -link mysql:mysql -link redis:redis .... 

现在你的应用程序容器将有其他两个数据库的环境variables

另外,如果你想暴露两个端口,那么在你的dockerfile中只需要EXPOSE port1 port2

例如EXPOSE 22 80

然后你会得到两个暴露端口的环境variables。 但我build议你没有一个运行mysql和redis的容器。 分开你的担忧:)