Tout d'abord, écrivez le Dockerfile
comme suit.
Dockerfile
FROM mariadb:latest
COPY ./init.sql /docker-entrypoint-initdb.d/
VOLUME [ "/var/lib/mysql" ]
Dans FROM
, spécifiez l'image d'origine de MariaDB
.
Ensuite, COPY
envoie le fichier local ʻinit.sql dans le répertoire
/ docker-entrypoint-initdb.d /dans le conteneur. Le but est de placer la table, etc. en premier lors du lancement du conteneur
MariaDB. Enfin,
VOLUME enregistre les données de
MariaDBdans le conteneur localement. Le but de ceci est de sauvegarder les données de sauvegarde localement afin que les données ne soient pas perdues même si le conteneur
MariaDB` est arrêté.
En préparant ʻinit.sql` comme indiqué ci-dessous, la table sera créée au démarrage du conteneur.
init.sql
CREATE DATABASE test;
USE test;
CREATE TABLE test(name varchar(10));
Ici, nous créons d'abord une base de données nommée test
.
Sélectionnez ensuite la base de données test
.
Enfin, nous créons une table nommée test
.
Ici, le nom de la colonne est uniquement «nom» et son type est une chaîne de caractères de longueur variable.
Après avoir créé le fichier ci-dessus, créez un fichier Docker
ʻImage`.
Exécutez la commande suivante dans le répertoire où se trouvent les fichiers ci-dessus.
$ docker build -t mariadb .
En outre, démarrez le conteneur avec la commande suivante.
$ docker run --name mariadb -e MYSQL_ROOT_PASSWORD=password -dp 3306:3306 mariadb
Ici, le nom du conteneur est «mariadb». Le mot de passe de la base de données est «password». ** Sans cela, le démarrage échouera. ** ** Le port à ouvrir est spécifié par «numéro de port local: numéro de port du conteneur». Ici, les deux sont accessibles en ouvrant «3306» à «localhost: 3306».
Vous pouvez entrer dans le conteneur avec la commande suivante (bien que vous puissiez également l'entrer depuis Docker Desktop
etc.).
$ docker exec -it mariadb bash
De plus, vous pouvez exécuter SQL
à partir de la ligne de commande en allant dans le conteneur et en exécutant ce qui suit.
root@4ec9744dff6e:/# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.5.5-MariaDB-1:10.5.5+maria~focal mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Recommended Posts