Как настроить MySQL и phpmyadmin в docker compose файле - PullRequest
0 голосов
/ 24 января 2020

Мне нужен пример настройки MySQL и phpmyadmin для docker compose файла.

Ответы [ 2 ]

2 голосов
/ 24 января 2020

Вы должны установить имя пользователя и пароль в среде docker -compose.yml.

version: '3'
services:
  db:
    image: mysql
    restart: always
    environment:
      MYSQL_DATABASE: 'db'
      MYSQL_USER: 'user'
      MYSQL_PASSWORD: 'password'
      MYSQL_ROOT_PASSWORD: 'password'
    ports:
      - '3306:3306'
    volumes:
      - my-db:/var/lib/mysql
volumes:
  my-db:

, а для phpmyadmin я использовал образ phpmyadmin из docker hub:

phpmyadmin:
  image: phpmyadmin/phpmyadmin
  ports:
    - 80:80
  environment:
    MYSQL_USERNAME: 'user'
    MYSQL_ROOT_PASSWORD: 'password'
0 голосов
/ 25 января 2020

Добавлена ​​ 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

enter image description here

...