上下文:我正在尝试通过 Docker 容器运行一个基于 Plotly-Dash/Flask 的 Web 应用程序,该应用程序连接到在第二个容器内运行的 Redis 服务器。我正在尝试仅通过我的应用程序来实现与此示例接近的东西。所以我在我的项目文件夹中:videoblender.py名为包内的主要应用程序apps一个名为Dockerfile一个名为docker-compose问题:当我通过命令运行我的程序时docker-compose up --build,构建成功,然后我得到一个错误提示如下[Errno -3] Temporary failure in name resolution。我尝试过的:我尝试从上面的链接运行示例,这是我想要实现的简化示例,并且它有效。所以问题似乎出在我具体实现的某个地方。我的代码在容器外运行良好,本地 redis 服务器运行在localhost:6379. 当我在本地运行它时,我将host值分配给 Redis 对象构造函数的参数0.0.0.0,或者localhost,哪个都无关紧要。附加信息和文件:docker-compose.yml :version: '0'services: web: build: . ports: - "8003:8003" redis: image: "redis:alpine"Dockerfile我的网络应用程序的文件:FROM python:3.6-slim# copy needed thingsADD pocs /code/pocsADD apps /code/appsADD requirements.txt /codeADD setup.py /codeWORKDIR /code# libgl1-mesa-glx is needed for openCVRUN apt-get update && \ apt install -y libglib2.0-dev libsm6 libxext6 libxrender1 && \ apt-get clean && \ rm -rf /var/lib/apt/lists/*RUN pip install -r requirements.txtRUN pip install .CMD ["python", "apps/videoblender.py"]引发异常的代码:class RedisAccess(object): def __init__(self, host='redis', port=6379, db=0): self.redis_server = redis.Redis(host=host, port=port, db=db)在主python代码中调用videoblender.pyra = RedisAccess()
添加回答
举报
0/150
提交
取消