我创建了一个在Docker容器中运行的Django应用程序。我需要在Django应用程序中创建一个线程,因此我将Celery和Redis用作Celery数据库。如果我在docker映像(Ubuntu
14.04)中安装Redis:
RUN apt-get update && apt-get -y install redis-server
RUN pip install redis
Redis服务器未启动:Django应用程序引发异常,因为端口6379上的连接被拒绝。如果我手动启动Redis,它将正常工作。
如果我使用以下命令启动Redis服务器,它将挂起:
RUN redis-server
如果我尝试调整上一行,那么它也不起作用:
RUN nohup redis-server &
所以我的问题是:有没有一种方法可以在后台启动Redis并在Docker容器重启时使其重启?
Docker“最后一个命令”已经用于:
CMD uwsgi --http 0.0.0.0:8000 --module mymodule.wsgi
RUN
命令仅添加新的图像层。它们不会在运行时执行。仅在映像构建期间。
使用CMD
代替。您可以通过将多个命令外部化为shell脚本来组合多个命令,这些脚本由调用CMD
:
CMD start.sh
在start.sh
脚本中,编写以下内容:
#!/bin/bash
nohup redis-server &
uwsgi --http 0.0.0.0:8000 --module mymodule.wsgi
Docker“最后一个命令”已经用于:
非常简单,没有任何修饰,redis是使用一个连接附加到一个web应用程序。 创建一个redis docker容器 首先,我们先为redis创建一个Dockerfile FROM ubuntu:12.10 RUN apt-get update RUN apt-get -y install redis-server EXPOSE 6379 ENT
问题内容: 这个问题是我继续研究Docker的一部分,并且在某些方面跟进了我先前的问题之一。我现在已经了解了如何通过将一堆Docker容器链接在一起来获得完整的应用程序堆栈(实际上是微型VPS)。例如,可以创建一个堆栈,为Apache+ PHP5提供一堆扩展名+ Redis + MemCached+MySQL,它们都在Ubuntu上运行,无论是否带有附加数据容器,都可以轻松地序列化用户数据。 一切
问题内容: 目前,我在需要连接到camunda的docker容器内运行一个node.js应用程序,该容器在另一个容器中运行。 我使用以下命令启动容器 这两个应用程序现在都在运行,我可以通过在端口8000上导航到主机的IP来访问camunda,运行wget 还会返回camunda页面。使用和键入我的应用程序容器时,我无法访问camunda。相反,我得到以下错误: 当我使用将我的应用程序容器链接到ca
Grpc服务器似乎是使用Netty实现的。是否有使用其他实现的方法?
问题内容: 如果我有另一个正在运行的apache / web-server实例,我用所有这些命令痛苦地分析了昨天的全部内容 我没有在端口8080上运行的Apache或任何其他服务器的另一个实例。 但是,XAMPP给了我这个: 我该怎么办? 我也将httpd.conf编辑为LISTEN到端口9876,并且仍然相同。 问题答案: 如果: 然后,也许有一个锁定文件位于启动要检查的地方?这些通常在/ va