亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

容器內的 Python 代碼無法訪問第二個容器內的 Redis

容器內的 Python 代碼無法訪問第二個容器內的 Redis

千萬里不及你 2023-03-30 10:16:41
上下文:我正在嘗試通過 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()
查看完整描述

1 回答

?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

在 docker-compose.yml 的 web 部分下,添加:

links:
  - redis



查看完整回答
反對 回復 2023-03-30
  • 1 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號