docker compose服务中python版本的差异

2024-09-30 06:17:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使我的网站与django和频道的码头形象。我有4个服务:redis、http服务器、channelworker和daphne服务器。 但是,我在daphne服务器上有一个错误。 我发现在不同的服务之间,有不同的python版本,而docker fiel是相同的

这是我的码头工人-撰写.yaml地址:

version: '3'

services:
  redis:
    image: redis
    command: redis-server
    ports:
      - '6379:6379'
  web:
    build: ./soundover
    command: bash -c "python --version && python manage.py runserver 0.0.0.0:8000"
    volumes:
      - ./soundover:/soundover
    ports:
      - "8000:8000"
  worker_channels:
    build: ./soundover
    command: bash -c "python --version && python manage.py runworker websocket"
    volumes:
      - ./soundover:/soundover
    links:
      - redis

  channels:
    build: ./soundover
    command: bash -c "python --version && daphne -b 0.0.0.0 -p 8001 soundover.asgi:application"
    volumes:
      - ./soundover:/soundover
    ports:
      - "8001:8001"
    links:
      - redis

以及Dockerfile:

FROM python:3.6

ENV WEBAPP_DIR=/soundover

RUN mkdir $WEBAPP_DIR
WORKDIR $WEBAPP_DIR

ADD requirements.txt $WEBAPP_DIR/
ADD manage.py $WEBAPP_DIR/
RUN pip install -r requirements.txt
RUN python -m pip install git+https://github.com/django/channels.git --upgrade

我显示了版本,结果如下:

web_1             |  Python 3.6.9
worker_channel_1  |  Python 3.6.9
channels_1        |  Python 3.5.7

我希望所有服务的输出都是3.6.9。你知道吗

有没有办法强制服务频道使用python3.6(使用daphne服务器)?你知道吗


Tags: pybuild服务器bashredismanageversiondir

热门问题