【问题标题】:docker compose up generate (2005, "Unknown MySQL server host 'db' (-2)") errordocker compose up generate (2005, "Unknown MySQL server host 'db' (-2)") 错误
【发布时间】:2020-06-01 06:09:14
【问题描述】:

大家好,我正在尝试将 django 应用程序与数据库连接。当我运行 docker compose up 时,当 dockerfile 进行迁移时出现此错误django.db.utils.OperationalError: (2005, "Unknown MySQL server host 'db' (-2)") ERROR: Service 'web' failed to build: The command '/bin/sh -c python manage.py makemigrations' returned a non-zero code: 1

这是我的 Dockerfile

FROM python:3.6
ENV PYTHONUNBUFFERED 1
RUN mkdir /SFP_ingestion
WORKDIR /SFP_ingestion
COPY . /SFP_ingestion
RUN pip install -r requirements.txt
RUN python generatemodel.py
RUN python generateapp.py
RUN python manage.py makemigrations
RUN python manage.py migrate
RUN python manage.py migrate easyaudit
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

这是我的 docker-compose.yml


services:
  db:
    image: mysql
    restart: always
    command: --default-authentication-plugin=mysql_native_password --mysqlx=0
    environment:
      - MYSQL_HOST=localhost
      - MYSQL_PORT=3306  # cannot change this port to other number
      - MYSQL_DATABASE=sfp # name you want for the database
      - MYSQL_USER=root # change to whatever username you want
      - MYSQL_PASSWORD=password #change to the password you want for user
      - MYSQL_ROOT_PASSWORD=password #change to good root password
    ports:
      - "3306:3306"
    expose:
      - "3306"  
    volumes:
      - "./db:/var/lib/mysql"

  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/SFP_ingestion
    restart: always  
    ports:
      - "8000:8000"
    depends_on:
      - db  

【问题讨论】:

    标签: python mysql django docker docker-compose


    【解决方案1】:

    您必须为您的容器指定网络。 https://docs.docker.com/compose/networking/

    【讨论】:

    • 默认 docker-compose 创建一个默认网络并将容器连接到它,所以我认为这不是问题。看起来 OP 在他的镜像构建阶段试图访问 db 服务,显然这个服务没有启动(这是预期的)。
    猜你喜欢
    • 2019-02-01
    • 2020-10-24
    • 1970-01-01
    • 2020-06-16
    • 2021-08-10
    • 2019-07-22
    • 2019-08-02
    • 2019-02-13
    • 1970-01-01
    相关资源
    最近更新 更多