Mysql
 sql >> база данни >  >> RDS >> Mysql

Засяване на MySQL DB за Dockerized Django приложение

MySQL (и варианти като Percona Server) предоставят възможност за засяване на база данни при първото стартиране на контейнера, описано в раздела „Инициализиране на нов екземпляр“ в страницата на docker hub .

Dockerfile, използващ тази техника, ще изглежда така

FROM mysql:8
COPY seed-data.sql /docker-entrypoint-initdb.d/

Забележка:крайната наклонена черта на директорията е важна.

Когато docker run това изображение, docker ще създаде контейнера, 0. -входна точка.ш ще изпълни sql скрипта и след това контейнерът ще бъде готов да обслужва данни.

Данните ще се запазят чрез рестартиране на контейнера - началните данни и последващи модификации.

Можете да използвате повторно контейнера за по-бързо стартиране - следващите стартирания на контейнера няма да трябва да инициализират базата данни или да зареждат данните. Когато имате нужда от чисти данни, изтрийте контейнера и docker run изображението отново.

Когато изтриете контейнера, не забравяйте да изтриете тома на docker, съдържащ db данните:docker rm -v $CONTAINER_NAME .

Използвам този метод, за да предоставя стандартни данни за езикови/рамкови POC, както и CI/CD. Инициализирането на нова база данни и засаждането на големи количества данни може да отнеме няколко минути, така че ще ви е необходима логика, за да поставите на пауза автоматизираните операции, докато не можете успешно да осъществите db връзка.

Надявам се това да ви помогне по пътя.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вместо тригери в mysql

  2. magento таблица sales_flat_order поле protect_code обяснение

  3. Използване на OpenVPN за защитен достъп до вашия клъстер от база данни в облака

  4. Синтаксис на MySQL при създаване на външен ключ

  5. django.db.utils.OperationalError:(2013 г., Загубена връзка с MySQL сървъра при „ръкостискане:четене на първоначален комуникационен пакет“, системна грешка:0)