Добавлена mysqlclient зависимость в needs.txt. необходимо разрешить Django соединяться с MySQL.
В Dockerfile добавили следующее в Dockerfile:
Dockerfile
FROM python:3.7
ENV TZ=Africa/Nairobi
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ENV PYTHONUNBUFFERED 1
# add requirements.txt to the image
ADD requirements.txt /app/
# set working directory to /app/
WORKDIR /app/
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
Настройка MYSQL конфигураций на django settings.py
:
settings.py
</p>
<pre><code>DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_mysql_docker',
'USER': 'root',
'PASSWORD': 'mysqladmin',
'HOST': 'db',
'PORT': '3306',
}
}
В файле **docker -compose ** я добавил следующее:
docker -compose.yml
db:
restart: always
image: mysql:5.7
command: --default-authentication-plugin=mysql_native_password
volumes:
# - ./init-db:/docker-entrypoint-initdb.d
- ./data-db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: mysqladmin
MYSQL_DATABASE: django_mysql_docker
ports:
- "3306:3306"
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
MYSQL_USERNAME: 'root'
MYSQL_ROOT_PASSWORD: 'mysqladmin'
restart: always
ports:
- 8082:80
volumes:
- /sessions
В порту: 8082 (http://0.0.0.0: 8082 /) вы найдете phpmyadmin:
Панель управления phpMyAdmin