gpt4 book ai didi

mysql - 在 Docker 容器中使用 MySQL

转载 作者:行者123 更新时间:2023-11-29 06:08:20 24 4
gpt4 key购买 nike

我是 Docker 的新手,我正在尝试使用 MySQL 为 Django 应用程序构建图像。我遇到的问题是,运行图像后出现以下错误:django.db.utils.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)") 。作为我使用的图像的基础 FROM django:python2 ,我使用以下命令安装了服务器:

  • RUN echo "mysql-server mysql-server/root_password password X"| debconf-set-selections
  • RUN echo "mysql-server mysql-server/root_password_again password X"| debconf-set-selections
  • 运行 apt-get update && apt-get install -y mysql-server

为了解决这个问题,我尝试了多种解决方案,这些解决方案是我在 Internet 上找到的,例如:

  • RUN touch/var/run/mysqld/mysqld.sock
  • 运行 chmod -R 755/var/run/mysqld/mysqld.sock
  • 公开 3306

可悲的是,没有任何效果。我还确保服务器正在运行,但问题仍然存在。

最佳答案

这是一个运行良好的示例配置。

Docker 文件

FROM python:3.5
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD . /code/
RUN pip install -r requirements.txt

确保将路径更改为您的 requirements.txt 文件(如果存在。)

docker-compose.yml

db:
image: mysql
web:
build: .
environment:
- PYTHONPATH=/code/server/
- DJANGO_SETTINGS_MODULE=path.to.your.settings.file
command: python server/manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
links:
- db

确保将 DJANGO_SETTINGS_MODULE 的路径替换为您的设置文件的正确路径。

docker-compose 构建然后docker-compose up

编辑

如果您使用此配置,请在您的 settings.py 中将 HOST 的值更改为 db

关于mysql - 在 Docker 容器中使用 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39967167/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com