Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyediakan dan Mengimport Dump MySQL dengan Cekap dalam Bekas Docker?

Bagaimana untuk Menyediakan dan Mengimport Dump MySQL dengan Cekap dalam Bekas Docker?

Patricia Arquette
Patricia Arquetteasal
2024-12-03 22:28:14542semak imbas

How to Efficiently Set Up and Import a MySQL Dump within a Docker Container?

Persediaan MySQL dan Dump Import dalam Dockerfile

Mencipta Dockerfile untuk menyediakan pangkalan data MySQL dan mengimport dump adalah tugas biasa dalam web pembangunan. Walau bagaimanapun, anda mungkin menghadapi masalah semasa permulaan MySQL.

Masalah dalam Fail Docker yang disediakan mungkin terletak pada peringkat permulaan yang hilang untuk pelayan MySQL. Untuk menyelesaikan masalah ini, pertimbangkan untuk menggunakan versi terkini imej MySQL Docker rasmi, yang memudahkan penciptaan pangkalan data dan membuang import semasa permulaan kontena.

Berikut ialah contoh docker-compose.yml yang menunjukkan pendekatan ini:

data:
  build: docker/data/.
mysql:
  image: mysql
  ports:
    - "3307:3306"
  environment:
    MYSQL_ROOT_PASSWORD: 1234
  volumes:
    - ./docker/data:/docker-entrypoint-initdb.d
  volumes_from:
    - data

Dalam contoh ini, fail data-dump.sql dipasang pada direktori /docker-entrypoint-initdb.d pada bekas. Skrip titik masuk Docker mengendalikan proses import semasa kontena dimulakan.

Selain itu, jika anda ingin mengekalkan data selepas menghentikan atau mengalih keluar bekas MySQL, gunakan bekas data yang berasingan. Kandungan Dockerfile bekas data boleh dipermudahkan seperti berikut:

FROM n3ziniuka5/ubuntu-oracle-jdk:14.04-JDK8

VOLUME /var/lib/mysql

CMD ["true"]

Dengan persediaan ini, data dikekalkan tanpa mengira keadaan bekas MySQL.

Atas ialah kandungan terperinci Bagaimana untuk Menyediakan dan Mengimport Dump MySQL dengan Cekap dalam Bekas Docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn