上下文:我正在嘗試通過 Docker 容器運行一個基于 Plotly-Dash/Flask 的 Web 應(yīng)用程序,該應(yīng)用程序連接到在第二個容器內(nèi)運行的 Redis 服務(wù)器。我正在嘗試僅通過我的應(yīng)用程序來實現(xiàn)與此示例接近的東西。所以我在我的項目文件夾中:videoblender.py名為包內(nèi)的主要應(yīng)用程序apps一個名為Dockerfile一個名為docker-compose問題:當(dāng)我通過命令運行我的程序時docker-compose up --build,構(gòu)建成功,然后我得到一個錯誤提示如下[Errno -3] Temporary failure in name resolution。我嘗試過的:我嘗試從上面的鏈接運行示例,這是我想要實現(xiàn)的簡化示例,并且它有效。所以問題似乎出在我具體實現(xiàn)的某個地方。我的代碼在容器外運行良好,本地 redis 服務(wù)器運行在localhost:6379. 當(dāng)我在本地運行它時,我將host值分配給 Redis 對象構(gòu)造函數(shù)的參數(shù)0.0.0.0,或者localhost,哪個都無關(guān)緊要。附加信息和文件:docker-compose.yml :version: '0'services: web: build: . ports: - "8003:8003" redis: image: "redis:alpine"Dockerfile我的網(wǎng)絡(luò)應(yīng)用程序的文件: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"]引發(fā)異常的代碼:class RedisAccess(object): def __init__(self, host='redis', port=6379, db=0): self.redis_server = redis.Redis(host=host, port=port, db=db)在主python代碼中調(diào)用videoblender.pyra = RedisAccess()
添加回答
舉報
0/150
提交
取消