Я новичок в docker. Я пытаюсь получить docker -композицию для инициализации базы данных MySQL, а затем использовать проект Django для подключения к этой базе данных.
Используемые мной файлы Docker:
FROM python:3.6
RUN mkdir /code
WORKDIR /code
COPY ./ /code/
RUN pip install -r requirements.txt
Затем я использую следующее, чтобы превратить файлы Docker в изображение:
docker build -f ./docker/dockerfile -t mark/markswebsite .
У меня есть следующее в Django:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbMarksWebsite',
'USER': 'root',
'PASSWORD': 'password',
'HOST': 'mydb',
'PORT': '3306',
}}
Файл docker -compose.yml:
version: '3'
services:
mydb:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: dbMarksWebsite
web:
environment:
- DJANGO_DEBUG=1
- DOCKER_DB_HOST=mydb
image: mark/markswebsite
stdin_open: true
tty: true
command: python manage.py collectstatic --noinput
command: python manage.py makemigrations
ports:
- "8080:8080"
depends_on:
- mydb
Я хотел бы добавить следующее, но при нынешнем сбое при выполнении миграций:
python manage.py migrate
python manage.py runserver
И я использую следующее, чтобы инициировать его:
docker-compose -f ./docker/docker-compose.yml up -d
У меня был ряд проблем с этим, но когда я подключаюсь к журналам сайта, в настоящее время Я получаю это сообщение об ошибке:
.......
jango.db.utils.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
Вопрос1 - Не могли бы вы сообщить мне, какие настройки мне нужно внести, чтобы разрешить Django подключаться к базе данных.
Вопрос2 - Есть Есть простой способ получить IP-адрес хоста, чтобы я мог видеть веб-сайт с моего ноутбука?
Спасибо
Отметить