作为标题,我尝试了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应用程序,但为什么我不能这样做呢?
请给我一些意见。
答案 0 :(得分:3)
在容器中,通常只启动一个软件。您可以启动多个,但需要一些工具,如主管https://docs.docker.com/articles/using_supervisord/ runit,s6,daemontools,请参阅常见问题https://docs.docker.com/faq/
答案 1 :(得分:1)
你需要像主管这样的东西,为什么不拥有2个容器并使用docker-compose?