如何在同一个容器上启动redis-server和node.js应用程序?

时间:2015-05-29 07:58:52

标签: docker dockerfile

作为标题,我尝试了Dockerfile,如下所示。

# install redis-server and start it
RUN yum install -y redis
RUN service redis start

# run node app when container starts
CMD ["node", "app.js"]

在app.js中,我使用localhost连接到redis

但是当我尝试运行容器时,事实证明redis-server没有在localhost上运行,并且app.js无法启动。

我知道人们通常会在不同的容器中启动redis和node.js应用程序,但为什么我不能这样做呢?

请给我一些意见。

2 个答案:

答案 0 :(得分:3)

在容器中,通常只启动一个软件。您可以启动多个,但需要一些工具,如主管https://docs.docker.com/articles/using_supervisord/ runit,s6,daemontools,请参阅常见问题https://docs.docker.com/faq/

答案 1 :(得分:1)

你需要像主管这样的东西,为什么不拥有2个容器并使用docker-compose?

推荐的方法基础图片:https://github.com/phusion/baseimage-docker